ssh_exchange_identification:远程主机关闭连接

ssh_exchange_identification:远程主机关闭连接

可能重复:
ssh_exchange_identification:远程主机关闭连接

我认为这是一个常见的错误,但我已经阅读了许多问题和答案,但似乎没有任何帮助。

# ssh -vvv 机器
OpenSSH_5.1p1 Debian-5,OpenSSL 0.9.8g 2007 年 10 月 19 日
debug1:读取配置数据 /etc/ssh/ssh_config
debug1:应用选项 *
调试2:ssh_connect:needpriv 0
debug1:连接到机器[xx.xx.xx.xx]端口22。
debug1:连接已建立。
调试1:permanently_set_uid:0/0
debug1:身份文件/root/.ssh/身份类型-1
debug3:不是 RSA1 密钥文件 /root/.ssh/id_rsa。
debug2:key_type_from_name:未知密钥类型'-----BEGIN'
debug3:key_read:缺少密钥类型
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug3:key_read:缺少空格
debug2:key_type_from_name:未知密钥类型‘-----END’
debug3:key_read:缺少密钥类型
debug1:身份文件/root/.ssh/id_rsa 类型1
debug1:检查黑名单文件 /usr/share/ssh/blacklist.RSA-2048
debug1:检查黑名单文件 /etc/ssh/blacklist.RSA-2048
debug1:身份文件/root/.ssh/id_dsa 类型-1
ssh_exchange_identification:远程主机关闭连接

但是我可以从其他机器(B) ssh 到这台机器(A),只是在一台特定的机器(C)上遇到了问题。从 A 到 C 的 ssh 也可以正常工作。

我检查过/etc/hosts.deny并且它是空的,而/etc/hosts.allow允许所有人sshd: ALL: allow。没有授权密钥文件正在使用中。

答案1

有两件事我要检查。

  1. 验证您所使用的私钥的所有权和权限。

  2. 验证您使用的 ssh 密钥的格式。如果您使用的是商业 SSH ssh 密钥,它们的格式与 OpenSSH(及其衍生产品)不同。在我看来,您需要在客户端计算机上生成一个新密钥,然后您需要将该公钥复制到服务器计算机上,您可能需要将其转换为可用于 openssh。

    ssh-keygen -i -f input.pub > output.pub
    

    在哪里输入.pub是你从客户端复制的密钥,并且输出.pub是您将添加到服务器计算机上的 authorized_keys 文件的密钥。

答案2

我遇到了完全相同的错误。我将 /etc/hosts.allow 文件从

  ALL : localhost 127.0.0.1/32 [::1]/128 [::ffff:127.0.0.1]/128 : allow
  ALL : PARANOID : deny
  sshd: ALL : allow

  ALL : localhost 127.0.0.1/32 [::1]/128 [::ffff:127.0.0.1]/128 : allow
  sshd: ALL : allow
  ALL : PARANOID : deny

希望能帮助到你。

答案3

当端口 22 受到密码猜测攻击或任何常规 DoS 攻击时,我会在服务器上注意到此错误。我通常需要控制台服务器,检查 auth.log 并对相关 IP 进行空路由。一个好的解决方法是通过 IPtables 对 SSH 进行速率限制。

相关内容