openssh服务器通过阻止或重置来拒绝连接

在一个非常全新的Ubuntu 14.04(machine1)安装中,我有一个完全默认配置的openssh-server。

当从LAN上的machine2连接时,使用空的〜/ .ssh,我从服务器获得以下调试输出(运行为/ usr / sbin / sshd -p 22 -D -d -e): http:// pastebin .com / WeHGzsUM和相关位可能是:

debug1: permanently_set_uid: 118/65534 [preauth] debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519 [preauth] debug1: SSH2_MSG_KEXINIT sent [preauth] Read from socket failed: Connection reset by peer [preauth] debug1: do_cleanup [preauth] ... 

当从machine2连接到在许多服务器上工作的普通〜/ .ssh时,我在machine1上得到以下调试输出: http : //pastebin.com/uxKfAYSL

在这两种情况下,在机器2上,客户端报告: http ://pastebin.com/dTp4mNne,直到最后一行,这对我来说是正常的:

 ssh_exchange_identification: read: Connection reset by peer 

在服务器和客户端上,ssh客户端是版本:

 OpenSSH_6.6p1 Ubuntu-2ubuntu1, OpenSSL 1.0.1 14 Mar 2012 

服务器有版本:

 OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014 

远程失败的完全相同的客户端命令在服务器machine1上完美运行,因此这不是帐户问题。

之前,在我在machine2上升级ssh客户端之前,ssh会无限期地阻塞,在显示此调试输出http://pastebin.com/JSX6r7Yp后 ,在服务器上我会在auth.log中看到以下内容

 Jun 19 22:27:47 lemur sshd[6491]: Did not receive identification string from 192.168.1.12 

更新:

事实certificate(感谢@chaos)这与ssh无关。 我设法在服务器机器上设置了一个错误的网络掩码255.255.255.255而不是255.255.255.0。 这导致从LAN路由入站流量而不是从路由器路由出现问题。

事实certificate(感谢@chaos)这与ssh无关。 我设法在服务器机器上设置了一个错误的网络掩码255.255.255.255而不是255.255.255.0。 这导致从LAN路由入站流量而不是从路由器路由出现问题。

尝试重新生成服务器和客户端上的主机密钥:

 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key 

Did not receive identification string -error意味着服务器等待客户端的标识字符串并且永远不会获取它。

Connection reset by peer -error Connection reset by peer意味着在TCP层中服务器切断连接并且不发送ACK包。

这两个错误都可能指向连接问题。 尝试为服务器使用另一个交换机端口。 在您的客户端日志中,我们也看到客户端也从未获取服务器的标识字符串,它应该是这样的:

 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.3