我要在这里提出我的问题和答案,因为我很难搞清楚。 (此外,我开始尝试安装" 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库了。我希望这有助于其他人更快地找到解决方案。
答案 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()
使用适当的匹配密钥对,现在应该可以正常工作。它对我有用。 (当然,用正确的用户名替换。)