当使用ssh-keygen命令时Paramiko挂起

Nil*_*esh 3 python unix ssh paramiko

我正在创建一个用户,并希望为该用户设置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()
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用

当我在python控制台上运行它作为单个语句复制过去然后它工作,但当我作为单个python脚本运行它,它挂在最后一行print "Output: ", stdout.read().

请事先提供帮助:)

mac*_*mac 5

在尝试阅读stdout问题之前:

stdin.channel.shutdown_write()
Run Code Online (Sandbox Code Playgroud)

另请参阅此问题以供参考.