Парамико зависает при использовании команды ssh-keygen - PullRequest
3 голосов
/ 22 декабря 2011

Я создаю одного пользователя и хочу установить ключ ssh для этого пользователя

Мой скрипт

import paramiko

ssh_conn = paramiko.SSHClient()
ssh_conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_conn.load_system_host_keys()
ssh_conn.connect('localhost', username='test', password='test')

cmd = 'ssh-keygen -t dsa'

stdin, stdout, stderr = ssh_conn.exec_command(cmd)
stdin.write('\n')
stdin.flush()
stdin.write('\n')
stdin.flush()
stdin.write('\n')
stdin.flush()

print "Output: ", stdout.read()

Но, кажется, не работает

Когда я запускаю его как копию одного оператора в консоли Python, он работает, но когда я запускаю его как один скрипт Python, он зависает в последней строке print "Output: ", stdout.read().

Заранее спасибо за помощь:)

1 Ответ

5 голосов
/ 22 декабря 2011

Прежде чем пытаться прочитать вопрос stdout:

stdin.channel.shutdown_write()

См. Также этот вопрос для справки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...