无法在任何地方通过 ssh 进行连接 - ssh_exchange_identification

无法在任何地方通过 ssh 进行连接 - ssh_exchange_identification

我有一个设置,在 Windows 7 主机下以 VirtualBox 客户机的形式运行 Ubuntu 11.10,位于受限制的公司防火墙后面。我已设置从主机端口 22 到 Ubuntu 端口 22 的 NAT;IT 通知我,他们已为主机的 IP 地址打开了出站端口 22。

我已经运行了ssh-keygen -t rsa,并尝试通过连接到 github 和另一个已知的 ssh 服务器来测试设置。在这两种情况下,连接都被拒绝ssh_exchange_identification: Connection closed by remote host。完整-vvv日志如下。

这是否仍可能是由于公司防火墙造成的?如果是这样,我还需要向他们提出什么要求?还有其他想法可能是什么问题以及如何解决吗?

~$ ssh -Tvvv [email protected]
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/chris/.ssh/id_rsa" as a RSA1 public key
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug2: key_type_from_name: unknown key type 'Proc-Type:'
debug3: key_read: missing keytype
debug2: key_type_from_name: unknown key type 'DEK-Info:'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /home/chris/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/chris/.ssh/id_rsa-cert type -1
debug1: identity file /home/chris/.ssh/id_dsa type -1
debug1: identity file /home/chris/.ssh/id_dsa-cert type -1
debug1: identity file /home/chris/.ssh/id_ecdsa type -1
debug1: identity file /home/chris/.ssh/id_ecdsa-cert type -1
ssh_exchange_identification: Connection closed by remote host

编辑:请求的诊断:

~$ ls -la ~/.ssh
total 16
drwx------  2 chris chris 4096 2012-03-30 13:12 .
drwxr-xr-x 29 chris chris 4096 2012-03-30 13:25 ..
-rw-------  1 chris chris 1766 2012-03-30 13:12 id_rsa
-rw-r--r--  1 chris chris  409 2012-03-30 13:12 id_rsa.pub

答案1

下面这一行信息可能会引起误解:

debug3: Could not load "/home/chris/.ssh/id_rsa" as a RSA1 public key
debug2: key_type_from_name: unknown key type '-----BEGIN'

这会让你白费力气。我之所以这么说,是因为你进行了所有的诊断,甚至重新生成了密钥,但问题仍然存在。

根据经验,我可以说这个问题可能是由服务器配置引起的,即使消息看起来像是客户端密钥问题。

要解决此问题,请仔细检查服务器 SSH 配置。在这种情况下,首先确保已将 id_rsa.pub 的内容添加到您的 Git 帐户。检查那里的任何其他权限。

当这种情况发生在您自己的服务器上时,请仔细检查配置。例如,我发现如果服务器上的 ssh 配置不允许您的用户,则 ssh 客户端会给出完全相同的(误导性)错误消息。

sudo nano /etc/sshd_config
AllowUsers yourname@*

答案2

首先尝试删除您现有的密钥。

rm ~/.ssh/id_*

现在尝试重新生成密钥。

ssh-keygen -t rsa

相关内容