1、问题描述
客户端使用ssh命令远程连接嵌入式设备(服务器)时,出现连接失败
Connection reset by 192.168.0.5 port 22
lost connection
2、问题原因及解决
是由于嵌入式设备的ssh模块的证书长时间没有更新导致,证书失效,可以删除旧的证书,再重新生成一份新证书解决,命令如下:
sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server
首先删除现有的密钥,讲ssh_host开头的私钥和公钥删除;
接下来dpkg-reconfigure来重新生成密钥;
最后要重新启动ssh服务,
systemct restart sshd
3、客户端重新ssh连接服务器,又报如下错误
刚才更新了服务器的ssh相关的公钥,但是客户端是没有更新公钥,导致客户端尝试连接时校验失败,需要重新更新一下客户端的公钥,命令如下:
ssh-keygen -R 服务器IP地址
使用ssh-keygen命令使客户端的公钥不可靠,等连接时重新获取公钥即可;
最后连接成功。
参考:
https://blog.youkuaiyun.com/mao_hui_fei/article/details/116125265
https://blog.youkuaiyun.com/wd2014610/article/details/85639741
https://www.kaijia.me/2015/09/regenerate-ssh-host-key-server-side/