美文网首页
use remote-ssh in vscode

use remote-ssh in vscode

作者: pu1p | 来源:发表于2019-06-07 12:11 被阅读0次

    Update 2019-11-07

    经社团同学提醒: remote-development 插件套装如今已经不再只支持 vocode insider 了, 撒花 ~~
    使用指南参考 知乎专栏文章 : 使用vscode进行远程炼丹


    背景

    最近正在做操作系统的实验. 编译linux 0.11的内核需要linux环境.

    我的主机是windows, 虚拟机是ubuntu16.04 的server版. 所以一开始的时候我先是尝试在共享文件夹中工作.

    但是因为它的Makefile中使用了同一个单词但是不同大小写的两个文件名来区分两个文件(这个习惯非常不好!)而windows貌似不支持仅通过大小写区分文件. 于是在共享文件夹中make总是失败. 于是不用共享文件夹.

    那就有如下几种解决方案:

    1. 在linux中工作
      那就只能用vim了. 但是因为经常需要同时修改多个文件. 而这种情景下vim的体验实在太糟糕(也可能是因为我太菜).
    2. 新建一个桌面版的虚拟机
      浪费硬盘空间, 还得重新配环境. 只能作为最后的备选方案
    3. 使用vscode远程开发环境
      虽然遇到了挺多的坑. 但是最终还是成功了. 分享一下.

    正文

    环境需求

    1. windows端装有open-ssh, 并添加到了PATH环境变量中
    2. linux端装有ssh server
    3. Vscode insider. (以为这个远程开发环境目前还在测试阶段(2019-06-07). 所以如果要用的话需要安装insider版的vscode. )

    过程

    配置linux端

    1. 流程:
      1. 在windows下使用如下命令生成密钥 ssh-keygen.exe -t rsa 密码为空即可. 然后就可以在 C:\Users\用户名\.ssh 这个文件夹中找到``id_rsaid_rsa.pub` 两个文件(之后使用ssh 登录的时候就不需要用 -i 显示地声明密钥).
      2. id_rsa.pub 上传到linux服务器中
      3. 如何在linux上添加公钥可以参考 https://www.cnblogs.com/Hi-blog/p/9482418.html
    2. 成功指标:
      在windows的命令行中执行 ssh user@host 即可登录linux服务器.
      注意: 没有用 -i 声明密钥! 至于为什么之后会说

    配置vscode

    1. vscode 安装拓展


      remote development extension
    2. 连接linux端:


      connect to host
    3. 第一次需要新建一个配置文件


      new config file
    4. 配置文件格式如下:


      config format

      Host是主机名, 一个配置文件中可以添加多个主机. 使用过Host进行区分.
      HostName是ip地址
      User 是用户名.

    5. 一个坑
      我一开始是按照官网 上给了配置文件的参考格式

      官网的参考格式

      编写配置文件的. 其中IdentityFile就是私钥的路径. 但是一直连不上服务器. 然而我用ssh -i 使用这个私钥是可以连到服务器上的. 也不知道是哪儿出现了问题. 这也是之前成功指标的意义. 那样就可以省略这个参数了.

    6. 保存好配置文件后再次 connect host:


      connect again

      就可以看到之前配置的Host了

    7. 单击即可.


      success

      之后就可以在windows端远程编辑linux中的文件了.

    如有疏漏或者疑问. 欢迎在评论区指出交流.

    参考:
    https://www.youtube.com/watch?v=rh1Ag41J6IA
    https://www.cnblogs.com/Hi-blog/p/9482418.html
    https://code.visualstudio.com/docs/remote/ssh

    相关文章

      网友评论

          本文标题:use remote-ssh in vscode

          本文链接:https://www.haomeiwen.com/subject/tuymxctx.html