最近遇到公司的阿里云服务器使用ssh登录时总是返回Connection reset by peer的情况,在网上找个很多方法都没有解决;包括在 /etc/hosts.allow中增加sshd:ALL,排除了/etc/hosts.deny中的禁止项;排除了防火墙的屏蔽等情况下始终无法解决。今天一个偶然的机会成功了,下面记录一下我的方法。
第一步、通过阿里云账号登录阿里云主机管理终端,然后删除ssh的rsa和dsa秘钥,我的目录地址分别是,
RSA:/etc/ssh/ssh_host_rsa_key和/etc/ssh/ssh_host_rsa_key.pub;DSA:/etc/ssh/ssh_host_dsa_key和/etc/ssh/ssh_host_dsa_key.pub;
第二步、重新生成rsa和dsa秘钥,使用的命令如下:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key,ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key,两次密码都为空即可。
第三步、清空.ssh目录下的known_hosts文件,我的目录地址是/Users/XXXXX/.ssh/known_hosts
第四步、重启ssh,我的是ubuntu14.4,所以使用的命令是service ssh restart。
第五步、切换到需要进行ssh登录的主机,删除known_hosts中对应主机的RSA秘钥。
完成以上操作后,即可使用ssh正常登录远程主机。
题外话:ssh的操作日志存放地址为/var/log/auth.log,可以查看日志信息,根据日志信息做相应的处理。
参考资料
https://zhidao.baidu.com/question/2268044092467233028.html