ssh连接停在“debug1:SSH2_MSG_KEXINIT发送”

时间:2010-03-10 18:17:21

标签: ssh

我已将ssh端口号从22更改为2222 以前的默认ssh端口22的安装连接很好 我已经在路由器上正确映射了NAT

当我尝试调试时

ssh -v -p2222 www.example.com

我发现此错误

debug1: SSH2_MSG_KEXINIT

以下是所有调试日志

bob@server:~$ ssh -v -p2222 www.example.com
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to www.example.com [100.100.100.100] port 2222.
debug1: Connection established.
debug1: identity file /home/bob/.ssh/identity type -1
debug1: identity file /home/bob/.ssh/id_rsa type -1
debug1: identity file /home/bob/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: match: OpenSSH_4.7p1 Debian-8ubuntu1.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 100.100.100.100

就像那个连接被关闭一样 我在网络内外的几台机器上使用了gnome-terminal,putty,securecrt 仍然都得到相同的错误

4 个答案:

答案 0 :(得分:27)

我刚刚在XEN主机上遇到过这种情况。我从另一个主机复制了这个主机,按照惯例,我在执行此操作后删除了/ etc / ssh中的主机密钥,认为以后会生成新主机密钥。但这从未发生过,而且sshd开心地没有主机密钥。尝试ssh到此主机时,它会在SSH2_MSG_KEXINIT之后丢失。我所要做的就是创建主机密钥,这在基于debian的机器上是这样完成的:

dpkg-reconfigure openssh-server

答案 1 :(得分:16)

我遇到了这个问题并通过将目标路由器/防火墙和目标主机上的MTU设置为与源主机(1500)相同来解决了这个问题。

答案 2 :(得分:9)

我有同样的问题,当我在sshd_config中更改端口并重新启动sshd服务时sshd感到困惑,当我终于查看服务器日志(看起来你不能)时,sshd抱怨端口已经在使用中,netstat同意了,并且ps显示了几个运行sshd服务的实例。我杀了那些并重新启动sshd,并且能够连接。我发誓我尝试重新启动以解决问题,但我猜不是,因为那可能已经解决了。

长话短说,应该在端口2222上监听sshd来验证你不是真正在听的人,另一个sshd进程是。如果你遇到同样的问题。

答案 3 :(得分:7)

SSH2_MSG_KEXINIT不是错误。它只是告诉你它正在开始ssh密钥交换过程。

如果另一端正在关闭此时的连接,显然它出于某种原因不喜欢你:-)您是否可以访问您要连接的服务器上的日志?这可能有关于连接突然关闭的原因的信息。 (例如,tcpwrappers)