一、为什么会遇到这个问题
帮别人开发一个树莓派小车的时候,买了一个新的树莓派3B,回来安装好桌面系统之后开启了ssh功能,便想开始使用vscode来ssh开发,省的后续一直要插着屏幕开发,很麻烦。但是问题就来了,在确认过hostname、IP地址、端口都无误的情况下,vscode无论无何都没法ssh登录,于是我便尝试了mobaxterm来登录,发现可以。
二、问题的解决
没有vscode的辅助开发,还是很难受的。经过一番疯狂搜索,网上大部分都是对vscode进行各种操作的,对于我的问题来说还是无法解决。
之后我想尝试使用cmd来ssh登录,于是输入 ssh [email protected]
便弹出了下面的内容:
C:\Users\DragonSlayer>ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:4nBr//vCb0DAy+1Vgov9fNPLlrc3sS7FZWr2ELBMApA.
Please contact your system administrator.
Add correct host key in C:\\Users\\DragonSlayer/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\DragonSlayer/.ssh/known_hosts:14
ECDSA host key for 192.168.1.6 has changed and you have requested strict checking.
Host key verification failed.
经过一番搜索,发现是由于远程的主机的公钥发生了变化导致的
具体可以参考:ssh连接问题:解决REMOTE HOST IDENTIFICATION HAS CHANGED
按照上述方式输入:
ssh-keygen -R XX.XX.XX.XX (XX.XX.XX.XX为从机IP地址)
便成功修复了这个问题,cmd和vscode都可以正常ssh来访问了。
三、问题产生的原因
我猜测是由于vscode和cmd使用的都是openssh来进行ssh访问的,所以出现了一样的问题,只是vscode没有将内容表现出来,导致问题很难排查。
自己遇到了这个问题,就记录一下,和大家分享