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

如何使用visual studio code的插件remote ssh远程操作virtual box虚拟机的更多相关文章

  1. 【Visual Studio Code】插件

    [Visual Studio Code]插件 转载:https://www.cnblogs.com/yangchongxing/p/10625628.html 目录 ================= ...

  2. ionic2——开发利器之Visual Studio Code 常用插件整理

    1.VsCode官方插件地址: http://code.visualstudio.com/docs 2.使用方法,可以在官网中搜索需要的插件或者在VsCode的“”扩展“”中搜索需要的插件 添加方法使 ...

  3. Visual Studio Code 常用插件

    这里记录在Visual Studio Code中,我经常用到的插件. C#这个就不必说了,想用VIsual Studio Code调试和编辑C#代码,必须要装这个插件.东西还好,就是每次安装和更新插件 ...

  4. visual studio code emmet 插件不提示?解决方案

    使用visual studio code编辑.vue文件时,emmet插件无法使用, 可以通过以下方试解决: code →首选项 →设置 ,在右侧窗口“用户配置”.“工作区设置”添加以下代码: // ...

  5. visual studio code常用插件

    1.auto close tag2.chinese language pack for visual studio code3.debugger for chrome4.docker5.html cs ...

  6. MySql连接Visual studio Code First插件

    到mySql官网Downloads==> MySQL on Windows==>MySQL for Visual Studio 下载插件安装即可

  7. visual studio code前端插件及常用快捷键【转】

    通用插件 HTML Snippets 超级实用且初级的 H5代码片段以及提示 HTML CSS Support 让 html 标签上写class 智能提示当前项目所支持的样式新版已经支持scss文件检 ...

  8. Visual Studio Code必备插件

    HTML Snippets: 超级实用且初级的 H5代码片段以及提示 HTMLHint: html代码检测 HTML CSS Support : 让 html 标签上写class 智能提示当前项目所支 ...

  9. Visual Studio Code 常用插件整理

    常用插件说明: 一.HTML Snippets 超级使用且初级的H5代码片段以及提示 二.HTML CSS Support  让HTML标签上写class智能提示当前项目所支持的样式 三.Debugg ...

  10. 【转】Visual Studio Code必备插件

    先ctrl+shift+p,弹出命令面板-选中Extensions:Install Extensions 或者直接点击左侧栏这个扩展按钮(Ctrl+Shift+X) 然后左侧栏就会显示出很多插件,如图 ...

随机推荐

  1. jQuery烟花效果

    1.依赖源码 (function($){$.fn.fireworks=function(options){options=options||{};options.opacity=options.opa ...

  2. [C++]我的理解之内存对齐

    问题1:为什么要内存对齐? 平台原因:不是所有的平台都能访问到任意地址上的任何数据,如果在特定的地址上找不到数据的话就会抛出硬件异常. 性能问题:简单的来说如果没有使用内存对齐的话,相对于内存对齐,C ...

  3. [cocos2d-x]我发现的内存管理机制的一些问题

    之前看过的一些文章中关于内存的管理机制讲的非常好,但是我发现它们在谈到每一帧都会创建一个新的内存池的时候,我发现源码并不是这样: PoolManager* PoolManager::getInstan ...

  4. 洛谷P3654 First Step题解

    这是一道暴力枚举. 大致题意:R行C列的棋盘要放下长度为K的线段,"#"表示无法放置,问有多少种放置方法. 直接贴代码: #include<bits/stdc++.h> ...

  5. VUE基础之:visible.sync-模态框显示隐藏、elementUI dialog组件报错或者visible属性不生效问题

    VUE基础之:visible.sync-模态框显示隐藏.elementUI dialog组件报错或者visible属性不生效问题 这篇文档存成草稿2年了,最近终于有时间拉出来写完了.... 我们日常开 ...

  6. JavaScript 检查(Linting)工具的比较

    一个好的检查(linting)工具可以确保一个项目遵循编码规范. 让我们来看看四种流行替代方案的特性和优缺点:JSLint , JSHint , JSCS 和 ESLint . JSLint JSLi ...

  7. Unity - 自定义Log

    嗨,崽崽们大家好.实在是不知道写个啥了,最近总是恍惚,今儿偷个懒吧,给大家推荐一个小黑自己写的小型日志工具,在一些小项目中管够使用了. 那有人会问了,Unity不是自带日志么,为什么还要自己做个小工具 ...

  8. 学习Java Day10

    今天学习了数组的相关知识

  9. setInterval()的使用

    setInterval() 作用  这个函数可以将一个函数每隔一段时间执行一次 参数  1.回调函数,该函数会每隔一段时间被调用一次  2.每次调用间隔的时间,单位是毫秒 返回值  返回一个Numbe ...

  10. jupyter环境搭建

    前言 jupyter,一个交互式的笔记本,进行数据分析时比pycharm要好用和专业一些. jupyter安装的正确姿势 在别的教程里,他们讲的是通过pip install jupyter或者brew ...