Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 15, 2014 10:52:16

nAs-ka
Зарегистрирован: 2014-04-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Paramiko: доступ по ssh

Здравствуйте, подскажите, пожалуйста. Я только начала изучать Python. Есть задача: написать скрипт для выполнения удаленных команд на оборудовании. Использую модуль paramiko. Проблема в том, что если применяю этот скрипт относительно сервера, то он выводит результат команды, а если относительно оборудования LTE8X - программа зависает.
#!/usr/bin/env python
import paramiko
host = ‘10.10.8.2’
user = ‘root’
secret = ‘123456’
port = 22
paramiko.util.log_to_file('ssh.log')
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, username=user, password=secret, port=port)
stdin, stdout, stderr = client.exec_command('uptime')
for line in stdout:
print(line)
client.close()

Вывод лога:
DEB thr=1 paramiko.transport: starting thread (client mode): 0x901956cL
INF thr=1 paramiko.transport: Connected (version 2.0, client OpenSSH_5.5)
DEB thr=1 paramiko.transport: kex algos: server key: client encrypt: server encrypt: client mac: server mac: client compress: server compress: client lang: server lang: kex follows?False
DEB thr=1 paramiko.transport: Ciphers agreed: local=aes128-ctr, remote=aes128-ctr
DEB thr=1 paramiko.transport: using kex diffie-hellman-group1-sha1; server key type ssh-rsa; cipher: local aes128-ctr, remote aes128-ctr; mac: local hmac-sha1, remote hmac-sha1; compression: local none, remote none
DEB thr=1 paramiko.transport: Switch to new keys …
DEB thr=2 paramiko.transport: Adding ssh-rsa host key for 10.10.8.2: d0278d9063d7825a81bd22104c97c828
DEB thr=1 paramiko.transport: userauth is OK
INF thr=1 paramiko.transport: Authentication (password) successful!
DEB thr=2 paramiko.transport: Max packet in: 34816 bytes
DEB thr=1 paramiko.transport: Max packet out: 32768 bytes
INF thr=1 paramiko.transport: Secsh channel 1 opened.
DEB thr=1 paramiko.transport: Sesch channel 1 request ok

Вывод на экран:

~$ ./blacklist1.py
Welcome to LTE-8X on Sat Jan 1 00:46:18 LOCAL 2000

При выполнении команды вручную:

$ ssh root@10.10.8.2
Password:

**************************************
* Welcome to LTE-8X *
**************************************

Welcome to LTE-8X on Sat Jan 1 00:48:29 LOCAL 2000
LTE-8# uptime
up 48 min

Подскажите, в чем может быть проблема?

Офлайн

#2 Апрель 15, 2014 13:13:16

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Paramiko: доступ по ssh

У меня была подобная фигня из-за forced command на ssh сервере, убираешь её из конфига и всё ок. Вот я здесь пробовал спросить http://stackoverflow.com/questions/22501852/paramiko-does-not-work-when-forced-command-is-on
Такая хрень у меня была не только в paramiko и но в модуле twisted-а. Как пофиксить - без понятия.



Отредактировано plusplus (Апрель 15, 2014 13:13:52)

Офлайн

#3 Апрель 15, 2014 14:26:53

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Paramiko: доступ по ssh

LTE8X Удаленное управление web-интерфейс(http, https), CLI (ssh2),
telnet. Так что можно и по https Ну и наружу вы не выходите можно и по telnet, если политика безопасности позволяет, это я к тому что если с ssh не получается, а сроки жмут

Офлайн

#4 Апрель 15, 2014 14:31:30

nAs-ka
Зарегистрирован: 2014-04-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Paramiko: доступ по ssh

noob_saibot
LTE8X Удаленное управление web-интерфейс(http, https), CLI (ssh2),telnet. Так что можно и по https Ну и наружу вы не выходите можно и по telnet, если политика безопасности позволяет, это я к тому что если с ssh не получается, а сроки жмут
По вебу не получится, т к там лишь малая часть того, что нужно (не аналог CLI). Ну а по поводу cli как вариант рассматриваем.

Офлайн

#5 Апрель 15, 2014 20:58:15

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Paramiko: доступ по ssh

Была такая же хрень с d-link/3com/procurve, решил так:
http://pexpect.readthedocs.org/en/latest/
или вариация на тему
http://pexpect.readthedocs.org/en/latest/api/pxssh.html

Отредактировано Alen (Апрель 15, 2014 21:04:29)

Офлайн

#6 Апрель 16, 2014 07:13:42

nAs-ka
Зарегистрирован: 2014-04-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Paramiko: доступ по ssh

Alen
Была такая же хрень с d-link/3com/procurve, решил так:http://pexpect.readthedocs.org/en/latest/или вариация на темуhttp://pexpect.readthedocs.org/en/latest/api/pxssh.html

Спасибо, попробую.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version