我已将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 仍然都得到相同的错误
答案 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)