Python - Paramiko - 不兼容的 ssh 服务器
Python - Paramiko - incompatible ssh server
几个月以来我写的脚本有一个错误,它在 raspberry 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 毫无问题地连接。
有人有想法吗?
您应该检查您的 SSH 服务器上是否有任何这些 MAC 算法可用(sshd_config,密钥:MAC):
- HMAC-SHA1
- HMAC-MD5
- HMAC-SHA1-96
- HMAC-MD5-96.
为了让 Paramiko 连接到您的 SSH 服务器,需要它们。
在您的远程服务器上,编辑/etc/ssh/sshd_config
并添加MACs
行或附加到现有的,带有一个或多个 hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
(值以逗号分隔),例如:
MACs hmac-sha1
现在重新启动 sshd: sudo systemctl restart ssh
.
如果上述解决方案不起作用,您需要升级 Paramiko,如此。
几个月以来我写的脚本有一个错误,它在 raspberry 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 毫无问题地连接。
有人有想法吗?
您应该检查您的 SSH 服务器上是否有任何这些 MAC 算法可用(sshd_config,密钥:MAC):
- HMAC-SHA1
- HMAC-MD5
- HMAC-SHA1-96
- HMAC-MD5-96.
为了让 Paramiko 连接到您的 SSH 服务器,需要它们。
在您的远程服务器上,编辑/etc/ssh/sshd_config
并添加MACs
行或附加到现有的,带有一个或多个 hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
(值以逗号分隔),例如:
MACs hmac-sha1
现在重新启动 sshd: sudo systemctl restart ssh
.
如果上述解决方案不起作用,您需要升级 Paramiko,如此