因为最近在学习TCPIP网络编程,想借助Linux运行一些例程,但Linux虚拟机实在太过难用,所以打算把linux远程连接到win上的vscode,配置过程中遇到不少问题,花了一天才成功。
0.配置
- 主机系统:windows10
- 虚拟机:VirtualBox Ubuntu20.0.4
这里是vscode远程连接linux虚拟机的参考教程
1.问题一:主机ping不通虚拟机,虚拟机可以ping通主机
主机无法建立和虚拟机的连接,是我选择的虚拟机网络连接方式有问题,仅仅使用NAT模式下,主机是不能连接虚拟机的,所以
主要实现的目标就是虚拟机和主机互相连通且虚拟机可连通外网。
解决方案:
- 采用桥接模式;
- 采用Host-Only+NAT模式。(最后我采取了这种方案,另写了一遍博客:看这里)
2.问题二:the remote host’s architecture is not support
这是我最开始遇到的问题,到处找也没找到解决方法。看到github上有说是因为版本不匹配的,并给出了vscode官方支持的系统版本:看这里
然后我想当然地把虚拟机上的ubuntu更新了(
结果更新到最新版本还是一样的出错。。。
然后认真看了看报错log,发现还有这样一行:
Unsupported architecture: i686
这啥意思呢,查了查是不支持32位系统的意思(才知道我当初装的虚拟机是32位的),不过也幸亏如此找到了解决方案。
解决方案:下载64位ubuntu镜像,重装虚拟机。
3.问题三:过程试图写入的管道不存在
这个问题我找到很多种方法。
解决方案:
ssh <username>@<服务器IP>
结果也是连不上,后来发现是我新装的linux系统没有安装ssh。。。赶紧打开虚拟机终端安装一下:
sudo apt-get install ssh
装完又在cmd里试着ssh了一下,连成功了,密码也输对了,但是又出现这样的错误信息:
permission denied
服务器端拒绝连接,所以又查到了下面的方法:
3. 更改服务器端连接许可:参考博客
4.配置成功
解决上述问题,终于配置成功: