Python - Paramiko - 不兼容的ssh服务器

时间:2015-02-08 21:03:18

标签: python ssh paramiko

我在几个月后编写的脚本上有一个错误,它在覆盆子pi上运行得非常好,但是现在有了橙色pi我有这个:

>>> import paramiko
>>> transport = paramiko.Transport("192.168.2.2", 22)
>>> transport.connect(username = "orangepi", password = "my_pass")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 978, in connect
    self.start_client()
  File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 406, in start_client
    raise e
paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs)

我可以在控制台中使用ssh连接而没有问题。

有人有想法吗?

3 个答案:

答案 0 :(得分:6)

您应该检查SSH服务器上是否有这些MAC算法可用(sshd_config,key:MACs):

  • HMAC-SHA1
  • HMAC-MD5
  • HMAC-SHA1-96
  • HMAC-MD5-96。

他们需要,以便Paramiko连接到您的SSH服务器。

答案 1 :(得分:6)

远程服务器上,修改/etc/ssh/sshd_config添加MACs行或附加到现有,其中包含一个或多个{ {1}}(值以逗号分隔),例如:

hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96

现在重新启动sshd MACs hmac-sha1

答案 2 :(得分:0)

如果上述解决方案不起作用,则需要升级Paramiko,如answer所示。