我已经使用 paramiko 一段时间了,一切都按预期工作,但是当我离开测试环境时,打开 ssh 会话时出现此错误
paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs)
Run Code Online (Sandbox Code Playgroud)
追踪错误后,我注意到在我的远程服务器上,我的/etc/ssh/sshd_config文件中缺少一些条目。我的设置都没有列出这些 MAC:
但是,它适用于一个而不是另一个。什么可能导致这种情况?我没有在任何一个中保存 rsa 密钥(远程服务器不允许写入)。
远程服务器的 sshd_config
#
# Allow Ciphers and MACs
#
Ciphers aes256-ctr,aes192-ctr,aes128-ctr,arcfour256,arcfour128
MACs umac-64@openssh.com,hmac-ripemd160,hmac-sha2-512,hmac-sha2-256
Run Code Online (Sandbox Code Playgroud)
RemoteAccess.py
class RemoteAccess():
def __init__(self, host="abc123", username="abc", password="123"):
self.name = host
self.client = paramiko.SSHClient()
self.client.load_system_host_keys()
self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
self.client.connect(host, username=username, password=password)
Run Code Online (Sandbox Code Playgroud)
我参考的链接: