为什么命令没有在SSH中执行?蟒蛇

时间:2013-10-22 20:54:16

标签: python windows ssh

我剪切了以下代码,允许在两台Windows机器上执行。我安装了copssh作为Windows机器中的ssh服务器,我正试图让它工作......

    cmd = "python --version"
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.WarningPolicy())
    client.connect("myhost",username="admin", password="adminpass")

    print "restarting machine ... "
    stdin, stdout, stderr = client.exec_command(cmd)
    print stdout.readlines()

执行以下代码时,我得到:

C:\wcat>python main.py
C:\Python27\lib\site-packages\paramiko-1.11.0-py2.7.egg\paramiko\client.py:95: U
serWarning: Unknown ssh-rsa host key for 192.168.2.4: 7bf6ba243a3daaa994e0b42067
9cfb30
  (key.get_name(), hostname, hexlify(key.get_fingerprint())))
restarting machine ...
[]

什么都不返回......即使像cd C:\ && dir这样的简单Windows命令也会返回[]。我也正在从我正在使用的机器上做同样的事情,它可以工作,但是周围的方式不是......可能的原因是什么?

2 个答案:

答案 0 :(得分:3)

除了设置缺少的主机密钥策略外,还要确保加载系统主机密钥。

client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy())

答案 1 :(得分:1)

运行python --version并将输出流式传输到stderr。您可以使用

轻松查看
python --version >> out 2> err