如何使用visual studio code的插件remote ssh远程操作virtual box虚拟机

0 Remote-SSH是什么?为什么要用它?

The Remote-SSH extension lets you use any remote machine with a SSH server as your development environment. This can greatly simplify development and troubleshooting in a wide variety of stations. You can:

  • Develop on the same operating system you deploy to or use larger, faster or more specialized hardware than your local machine.

  • Quickly swap between different, remote development environments and safely make updates without worrying about impacting your local machine.

  • Access an existing development environment from multiple machines or locations.

  • Debug an application running somewhere else such as a customer site or in the cloud.

No source code needs to be on your local machine to gain these benefits since the extension runs commands and other extensions directly on the remote machine. You can open any folder on the remote machine and work with it just as you would if the folder were on your own machine.

(摘自Remote-SSH官方介绍)

(注:本博客是我上编译原理实验课时的虚拟机配置方法)

由于我们的虚拟机镜像没有图形化界面,写代码不方便,宿主机又没有实验环境,可以用vscode的这个插件,直接在虚拟机中写代码并编译。(我不会vim......)

1 安装虚拟机镜像

下载虚拟机安装文件和VirtualBox软件,并在VirtualBox里成功安装虚拟机。

2 配置虚拟机网络设置

打开VirtualBox,选中刚才安装的Ubuntu虚拟机,单击设置。

在设置界面左侧选网络,确认网卡1已启用,且连接方式为网络地址转换(NAT),然后单击高级。

选择端口转发。

在端口转发设置窗口中,先单击右侧绿色加号添加转发规则,然后名称随便起,主机端口可以用一个2222(应该随便写个数都可以,只要不造成主机端口冲突就行),子系统端口填22,IP地址可以不写(一定要写的话,主机IP可填127.0.0.1,子系统IP可以在虚拟机运行ifconfig查看虚拟机IP并填写),单击OK完成设置。

3 虚拟机安装ssh

在VirtualBox中登录虚拟机,先输入以下命令安装ssh:

sudo apt install openssh-server

如果这一步报错 “Unable to locate package open-ssh service"则输入以下命令更新软件列表和软件:

sudo apt update
sudo apt upgrade

然后再输入上面第一个命令安装,安装完成后输入以下命令启动服务:

sudo /etc/init.d/ssh start 

输入以下命令检查是否成功安装并启动:

netstat -tlp 

如果显示三行类似下图的输出则说明成功(我也不懂这输出啥意思,但有ssh。。,就假装成功了,大家不要学我一知半解):

4 安装visual studio code

去官网下载安装即可

5 下载插件

打开vscode,在扩展商店安装remote SSH插件(或remote development插件)。

6 用Gitbash测试能不能连上虚拟机(这步不做也没关系)

首先打开虚拟机并登录。

然后在宿主机打开gitbash,输入下面命令(注意不是在虚拟机中直接输入):

ssh -p 2222 cp@127.0.0.1

其中2222是我第2步转发规则里面填的主机端口(各位一定要和自己第2步填的一样),cp是虚拟机用户名,127.0.0.1不用改。

如果成功登录说明虚拟机一侧配置好了。

7 配置vscode

安装完插件后,左下角会出现一个绿色按钮,如下图,单击它

选择Remote-SSH: Open Configuration File...

下一步选择C盘Users目录下的那个config文件进入。

按下图格式填写设置,Host是你vscode中显示你虚拟机的名字(我填了vbox),可以自己起名,HostName填写127.0.0.1,User填写cp(虚拟机用户名),Port填第2步设置端口转发规则里的主机端口(我是2222,各位与自己填的一样即可),完成后保存即可。

然后按ctrl+,进入设置界面,选扩展------Remote-SSH

找到Remote Platform选项,单击添加项,在项这一栏填入你虚拟机的名字(我填的是vbox),值这一栏填linux(因为要连接的虚拟机是linux)。

8 登录虚拟机

点击vscode右侧的远程资源管理器图标(下图左红圈),点击SSH TARGETS中的虚拟机右侧的图标登录。

在新窗口中输入密码,当左下角的绿色按钮显示SSH:vbox(vbox是我的主机名,你的电脑上显示的应该是你的主机名),就说明连接成功,得到下图界面。

单击终端,选择新终端,就能看到终端的welcome欢迎界面。

如果没有看到彩色welcome欢迎界面,则单击上图右侧红圈圈出的下拉菜单,并点击”选择默认shell“选项,选中zsh即可。

以上内容不保证对,如有错误或疑问,欢迎大家提出。

9 参考链接

https://www.jianshu.com/p/d59ed9f226d1

https://blog.csdn.net/qq_38004174/article/details/87896135

https://blog.csdn.net/u014796999/article/details/52576846?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

https://www.jianshu.com/p/0f2fb935a9a1

https://www.itranslater.com/qa/details/2104614987065984000

posted @ 2021-03-04 23:26  capacito  阅读(922)  评论(0编辑  收藏  举报