i m new on python. 我写了一个脚本, 连接到主机并执行一个命令
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=user, password=pw)
print running remote command
stdin, stdout, stderr = ssh.exec_command(command)
stdin.close()
for line in stdout.read().splitlines():
print %s$: %s % (host, line)
if outfile != None:
f_outfile.write("%s
" %line)
for line in stderr.read().splitlines():
print %s$: %s % (host, line + "
")
if outfile != None:
f_outfile.write("%s
" %line)
ssh.close()
if outfile != None:
f_outfile.close()
print connection to %s closed %host
except:
e = sys.exc_info()[1]
print %s %e
当远程命令不需要 tty 。 我发现一个引用_shell 示例 < a href=> https://stackoverflow.com/ questions/1911690/nested-ssh-session- with- palamiko" 的 SSH 会话与 Paramiko < / a> 一同使用。 i 不喜欢这个解决方案, 因为如果服务器的提示在我的脚本 - & gt; 无限循环或脚本中指定的提示是返回文本 - gt 的字符串 - & gt; 并非所有数据都会收到 。 是否有更好的解决方案可以让 stdout 和 stder 发送到我脚本中的提示?