本人急于吃饭,于是在本机vscode通过ssh连接虚拟机的前提下,没有断开vscode而先挂起了虚拟机,当我吃完饭打算美汁汁继续写代码的时候,恢复虚拟机,结果发现vscode怎么都连不上我的虚拟机了。于是写了这个解决方案
1.恢复虚拟机网络
首先看你的虚拟机网卡还开着没,作者就是本机ping虚拟机的时候发现怎么都连不上,然后在虚拟机运行ifconfig,结果发现,只有一个lo输出,诶我网卡呢?
于是查阅资料,先解决这个网卡不见了的问题,运行如下三句命令:
# 查看所有网络接口(包括未启用的) ip link show # 启用接口 sudo ip link set ens33 up # 通过 DHCP 获取 IP sudo dhclient -v ens33这样再ifconfig就会看到出现了ens33的网络ip,这时候在主机就能ping通了。
然而,当我现在再次用vscode连接的时候,发现诶我怎么还是连不上,报错unable to resolve resource vs...//ssh-remote%2B...(内心:还有二阶段!
2.vscode-ssh恢复
已经恢复了虚拟机网络(192.168.23.128可 ping、可 SSH),但 VS Code 仍试图使用一个“僵死”的远程环境上下文,所以就连不上了。
仍然保持你的虚拟机开着,在自己的vscode上输入ctrl+Shift+P然后输入Remote-SSH: Kill VS Code Server on Host...,然后选择相应的ip(也就是虚拟机ip),就清理了这个旧的上下文。
重新连接这个文件夹,就没问题了(只是可惜了我之前写到哪了要我自己找找了...)