当前位置: 首页 > 知识库问答 >
问题:

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

陶腾
2023-03-14

我使用paramiko已经有一段时间了,所有的工作都按照预期进行,但是当我从测试环境中移出时,我在打开ssh会话时遇到了这个错误

paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs)

跟踪错误后,我注意到在远程服务器上,我的/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

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)

我引用的链接:

共有1个答案

邹俊友
2023-03-14

出于某种原因,Paramiko1.15.1会抱怨不兼容的Mac。Paramiko1.16.0没有。通过将1.16.0文件复制到其安装位置来修复此问题。

/usr/lib/python2.7/site-packages/paramiko

paramiko版本的更改日志可在以下网址找到:http://www.paramiko.org/Changelog.html

 类似资料:
  • 我已经构建了一个应用程序,它是一个Eureka服务器,服务注册表。 pom.xml如下所示: 运行应用程序的主要类如下所示: 当我删除pom.xml中的eureka依赖项时,应用程序运行成功。 哪里不对?

  • 我一直在我的应用程序上使用谷歌的融合定位服务进行位置跟踪。我使用Android studio,它是gradle构建系统。最近我发现了谷歌定位服务的一个大问题。 我的gradle构建文件包含此依赖项:。所以当我重建我的项目时,Android Studio下载了google play服务的最新版本,即5.2.08。然而,我的设备(三星Galaxy S4)只有5.0.89版本。显然这两个版本不兼容,我得

  • Mongoose relies on the MongoDB Node.js Driver to talk to MongoDB. You can refer to this table for up-to-date information as to which version of the MongoDB driver supports which version of MongoDB. Mo

  • 我得到下面的错误,当做docker组成。该应用程序正在运行,但不能使任何api发布/获取请求。快速服务器正在使用端口5000。 ]尝试从localhost:3000代理请求/api/users/user时发生[HPM]错误http://localhost:5000/ (经济学)(https://nodejs.org/api/errors.html#errors_common_system_erro

  • 问题内容: 我正在尝试允许javascript与Node.js服务器通信。 POST请求(Web浏览器) 现在,Node.js服务器代码如下所示。在用于GET请求之前。我不确定如何使其与POST请求一起使用。 服务器(Node.js) 在此先感谢您的帮助。 问题答案: 以下代码显示了如何从HTML表单读取值。正如@pimvdb所说,您需要使用request.on(’data’…)来捕获正文的内容。

  • 我在运行使用Netty的服务时遇到了问题。它启动和工作正常,但只有一次。在此之后,不接受任何连接(它们将立即被删除)。 当我第一次使用(示例端口,随便什么)连接到服务器时,一切正常: 客户端会话: 服务器日志: --编辑2-- 只要连接处于活动状态,服务器就可以正常工作--在关闭连接之前,我可以轻松地交换请求/响应。 不要被IP地址迷惑,这是一个转发到Docker的本地端口,应用程序就是在那里启动