linux – SSH问题:从套接字读取失败:由对等方重置连接

我在我们的一台服务器上编译了OpenSSH_6.6p1.我可以通过SSH登录升级后的服务器.但是我无法连接到运行OpenSSH_6.6p1或OpenSSH_5.8的其他服务器.连接时我收到如下错误.
Read from socket failed: Connection reset by peer

在日志中的目标服务器上,我看到如下所示.

sshd: fatal: Read from socket failed: Connection reset by peer [preauth]

我尝试按照here中的说明指定cipher_spec [ssh -c aes128-ctr目标服务器]并且能够连接.如何配置ssh默认使用密码?为什么这里需要密码?

解决方法

这个问题听起来像服务器端的bug.当客户端发送密码列表时,openssh服务器可能希望能够在单个系统调用中读取列表.

如果支持的密码列表长于可以在一个数据包中传输的密码,则服务器在第一次调用中获得的字节数可能少于预期.服务器上的正确行为是执行另一个调用以获取其余字节.但是从出现的问题描述中,服务器在没有立即获得完整的密码列表时关闭连接.当来自客户端的下一个数据包到达时,服务器将向客户端发送连接重置.

配置客户端使用较短的密码列表将解决该错误. openssh客户端将在以下位置查找密码列表:

>在命令行上使用-c cipher_spec或-o Ciphers = cipher_spec
>在〜/ .ssh / config中,通过在相关主机部分或第一个主机之前指定密码cipher_spec.
>在/ etc / ssh / ssh_config中使用与〜/ .ssh / config相同的格式
>在编译时内置于客户端的默认列表.

这两个配置文件分别是每用户和系统范围的设置.使用密码aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,像Eric建议的3des-cbc应该可以正常工作.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...