相关疑难解决方法(0)

Paramiko - 不兼容的 SSH 服务器(没有可接受的 mac)

我已经使用 paramiko 一段时间了,一切都按预期工作,但是当我离开测试环境时,打开 ssh 会话时出现此错误

paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs)
Run Code Online (Sandbox Code Playgroud)

追踪错误后,我注意到在我的远程服务器上,我的/etc/ssh/sshd_config文件中缺少一些条目。我的设置都没有列出这些 MAC:

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

但是,它适用于一个而不是另一个。什么可能导致这种情况?我没有在任何一个中保存 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)

我参考的链接:

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

paramiko 不兼容的 ssh peer(没有可接受的 kex 算法)

python ssh paramiko

2
推荐指数
1
解决办法
7259
查看次数

标签 统计

paramiko ×1

python ×1

ssh ×1