难以在Windows上安装python ssh库(ssh已被“paramiko”取代)

时间:2014-07-01 15:52:49

标签: python ssh pycrypto

我要在这里提出我的问题和答案,因为我很难搞清楚。 (此外,我开始尝试安装" ssh"库,但它已被同一功能的" paramiko"库取代。我可能在这里错过了替换,请原谅如果我有。)

问题:我需要安装" paramiko" Windows 7系统上的库。

Pip和easy_install在尝试安装" Crypto"时都会出错。模块。

我走了一些涉及Visual C和Visual Studio的盲道,但没有成功。

答案:(分两部分) 1)从二进制文件安装加密库,如下所示:

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

这将安装加密库,但其大小写与paramiko库所期望的大写不同。所以我在这里学到了一个小技巧: http://stackoverflow.com/questions/19623267/importerror-no-module-named-crypto-cipher用户回答" pho"将这些行添加到python程序:

import crypto
import sys
sys.modules['Crypto'] = crypto

现在我可以安装并运行paramiko库了。我希望这有助于其他人更快地找到解决方案。

1 个答案:

答案 0 :(得分:2)

答案:(分两部分) 1)从二进制文件安装加密库,如下所示:

http://www.voidspace.org.uk/python/modules.shtml#pycrypto 注意:&#34; paramiko&#34;图书馆已取代&#34; ssh&#34;所以这个答案反映出来了<​​/ p>

这将安装加密库,但其大小写与paramiko库所期望的大写不同。所以我在这里学到了一个小技巧:

http://stackoverflow.com/questions/19623267/importerror-no-module-named-crypto-cipher

用户的答案&#34; pho&#34;将这些行添加到python程序:

import crypto
import sys
sys.modules['Crypto'] = crypto

现在我可以安装并运行paramiko库了。我希望这有助于其他人更快地找到解决方案。

这是一个好的开始。我的下一个限制是弄清楚如何获得正确的钥匙。如果你像我一样,你使用putty和它的keygen实用程序进行密钥管理。而且效果很棒!但它将它的私钥保存在与paramiko所期望的文件不同的文件中。但是puttygen也提供了解决方案。

在puttygen中打开您的* .ppk文件。 转换为转换 - >导出OpenSSH密钥 将您的私钥保存为id_rsa(当然,在.ssh目录中)。 (我不确定是否需要默认名称。请随意尝试其他内容并添加评论。)

现在paramiko将能够自动找到它。

这是我的结果脚本。

import sys
import crypto
sys.modules['Crypto'] = crypto
import paramiko

knownHosts  = 'C:/Users/Skip Huffman/.ssh/known_hosts'
keyFileName     = 'C:/Users/Skip Huffman/.ssh/id_rsa'
hostName    = "mcsremotetest1.cnn.vgtf.net"
userName    = "<username matching keypair>"

client = paramiko.SSHClient()
client.load_system_host_keys(knownHosts)
client.connect(hostName, username=userName)
stdin, stdout, stderr = client.exec_command('ls')
print "Standard Error: ", stderr.readlines()
print "Standard Output: ", stdout.readlines()

使用适当的匹配密钥对,现在应该可以正常工作。它对我有用。 (当然,用正确的用户名替换。)