我已经将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仍然都得到了同样的错误
我刚刚在XEN主机上遇到过这种情况.我从另一个主机复制了这个主机,按照惯例,我在执行此操作后删除了/ etc/ssh中的主机密钥,认为以后会生成新主机密钥.但这从未发生过,而且sshd开心地没有主机密钥.尝试ssh到此主机时,它会在SSH2_MSG_KEXINIT之后丢失.我所要做的就是创建主机密钥,这是基于debian的机器以这种方式完成的:
dpkg-reconfigure openssh-server
我遇到了这个问题并通过将目标路由器/防火墙上的MTU和目标主机中的MTU设置为与源主机(1500)相同来解决了这个问题.
我有同样的问题,当我在sshd_config中更改端口并重新启动sshd服务时sshd感到困惑,当我终于查看服务器日志(看起来你不能)时,sshd抱怨端口已经在使用,netstat同意,并且ps显示了几个运行sshd服务的实例.我杀了那些并重新启动sshd,并且能够连接.我发誓我尝试重新启动以解决问题,但我猜不是,因为那可能已经解决了.
长话短说,应该在端口2222上监听sshd来验证你的不是实际上正在监听的那个,另一个sshd进程是.如果你有同样的问题,我做了.
SSH2_MSG_KEXINIT不是错误.它只是告诉你它正在开始ssh密钥交换过程.
如果另一端正在关闭该点的连接,显然它出于某种原因不喜欢你:-)你有权访问你连接的服务器上的日志吗?这可能有关于连接突然关闭的原因的信息.(例如tcpwrappers)