问题描述: 在主机上更换系统为Arch OS,然后想要笔记本用Vsc(Visual Studio Code)的ssh远程连接功能连接该主机开发,但是不断尝试始终连接失败

解决方法:

  • 失败的原因,可以通过查看output窗口的输出来分析。可以点击view选项栏,点击output来拉出output窗口,如果你的output窗口是隐藏的话。
  • 注意到启动远程连接的时候,output信息中提示说远程主机的信息对不上,因为ssh连接建立的时候,会获取并记录远程主机的机器信息,并且与网络地址绑定存储在本地的~/.ssh/known_hosts文件中,重新与该网络地址(ip+端口)建立连接的时候会效验 远程主机提供的该信息是否与 之前记录的匹配, 如果不匹配则会发出警告,在控制台通过命令行连接的时候还会询问是否确认建立连接。所以笔者推测,是否之前建立连接的时候,因为OS不一样,生成的效验码不一样,然后被笔记本保存下来, 结果 现在新OS产生的效验码与 本地ssh保存的对不上,进而导致后续vsc ssh连接失败?
  • 笔者删除了本地的~/.ssh/known_hosts文件,重新启动vsc,重新与该网络地址建立ssh连接。因为删除了历史记录,相当于第一次建立连接,vsc询问是否continue,并提示是一个陌生的机器,笔者选择continue后成功连接上。
  • 所以另一种建立连接的成功方法可能是,先删除本地记录的主机信息,然后命令行建立连接记录上更新后的主机信息,可能这样子做之后vsc的ssh远程开发连接也能建立成功