0. vscode中安装remote development插件

(略)

1. 客户端进行配置

按键:ctrl+shift+p

在输入框中输入:

Preferences: Open User Settings

进入选项:

在新打开的输入框中输入:ssh

然后我们在Remote.SSH: Config File中填写ssh的配置文件路径,这里我们可以自由设置,我这里的设置是将其保存在OneDrive中,这样便能保证在不同的windows主机上都能通过相同用户名登录而读取到这个配置文件。

-----------------------------------------------------------

我们可以手动的打开刚才的配置文件,也可以再vscode中将其打开:

键盘按键:

Ctrl+shift+p

在输入框中输入:

ssh configuration file

打开ssh配置文件后对远程主机相关信息的填写:

(大致形式如下:)

相关参数介绍:

Host            对该条配置的命名,最后在vscode中以该名称对该配置进行查询;

HostName   远程主机IP地址;

User             远程主机上的用户名;

Port              远程主机上的端口;

ForwardX11  和  ForwardX11Trusted  和 ForwardAgent    本地主机的vscode客户端是否接受远程主机的X11转播(可以在本地打开服务器端部分的GUI界面);

IdentityFile     rsa加密的私钥(private key),保存在vscode本地的,远程主机上需要存放public key;

UserKnownHostFile   本地vscode对可登录的远程主机的记录信息,这里只需要给出一个地址即可,我这里依然保存在OneDrive中,该参数的设置可以在每次连接同一主机是不需要点击信任该远程主机(因为已经记录过),相关:https://www.codenong.com/1655815/。有这个UserKnownHostFile,那么只要远程主机IP地址不换,那么每次连接都不需要点击信任该远程主机。

Host 实验室台式机
HostName 10.105.211.147
User devil
Port 22
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
IdentityFile C:\Users\81283\OneDrive\.ssh\id_rsa_lab
UserKnownHostsFile C:\Users\81283\OneDrive\.ssh\known_hosts

配置完成后可以在vscode上看到对应的SSH远端的对应项,但是此时还没有实现免密码登录:

===============================================

VSCODE的官方HELP文档:

Remote Development Tips and Tricks

客户端的权限设定:

服务器端的权限设定:

客户端上的代理参数设置:

参考:

https://www.cyberciti.biz/faq/linux-unix-ssh-proxycommand-passing-through-one-host-gateway-server/

使用SOCKS代理:

Host 实验室台式机(192.168.11.241)
HostName 192.168.11.241
User devil
Port 22
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
IdentityFile C:\Users\81283\OneDrive\BaiduSyncdisk\.ssh\public_private_key\id_rsa_private_key
ProxyCommand ssh -W %h:%p 192.168.11.111:1080

主机跳板:

Host aaabbbccc
HostName 192.168.11.111
User devil
Port 22
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
IdentityFile C:\Users\81283\OneDrive\BaiduSyncdisk\.ssh\public_private_key\id_rsa_private_key Host xxxyyyzzz
HostName 192.168.11.241
User devil
Port 22
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
IdentityFile C:\Users\81283\OneDrive\BaiduSyncdisk\.ssh\public_private_key\id_rsa_private_key
ProxyJump devil@aaabbbccc:22

采用该种形式,虽然目标主机为xxxyyyzzz,但是在实际连接过程中会以主机aaabbbccc作为中间跳板。这里需要注意的是在配置ProxyJump参数时,主机名写的是vscode中自定义的别名,具体如上面的配置格式。参考:https://www.cnblogs.com/mykaneki/p/16750157.html

-----------------------------------------------------------------------

vscode 远端开发的免密登录:

vscode端(假设为windows主机)在刚才配置文件中的IdentityFile参数填写秘钥(private key)的保存地址;

远程主机端(假设为ubuntu系统)在用户home路径下面的.ssh文件中的authorized_keys文件中添加公钥(public key)信息;

公钥和秘钥的生成我们可以在windows主机上操作,也可以再ubuntu主机上操作。如果是在windows主机上操作,那么就需要把公钥传输给ubuntu主机,并保存到authorized_keys文件中;如果是ubuntu主机上操作,就需要报私钥传输给windows主机,并保存在刚才配置的IdentityFile参数对应的路径下面。

将公钥信息保存到authorized_keys文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

RSA公钥和秘钥的生成:

ssh-keygen -t rsa

Tips:

公钥和秘钥生成后最好可以重命名,因为默认的命名容易被再次生成的RSA秘钥对覆盖掉,尤其是windows端的私钥(private key)。

配置vscode客户端和远程主机的RSA的免密通信时,一定要注意,远程主机端保存的是公钥,vscode端保存的是私钥,公钥需要写入到~/.ssh/authorized_keys文件中,私钥路径需要配置到vscode上的IdentityFile参数中。

------------------------------------------------------------------

vscode配置远程项目开发的更多相关文章

  1. Mac上利用VScode配置c/c++开发环境

    Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...

  2. PhpStorm10和Apache24配置多项目开发环境

    PhpStorm10和Apache24配置多项目开发环境 Apache配置 httpd.conf LoadModule vhost_alias_module modules/mod_vhost_ali ...

  3. VsCode配置C/C++开发环境

    Visual Studio Code(VS Code)是基于 Electron 开发,支持 Windows.Linux 和 macOS 操作系统.内置了对JavaScript,TypeScript和N ...

  4. Mac OS中使用VScode配置C语言开发环境

    个人博客 chinazt.cc 闲话少叙,直奔主题 下载VSCode https://code.visualstudio.com/download 安装C/C++插件 需要两个插件: 1. cppto ...

  5. windows系统下用VScode配置远程编辑服务器文件的环境!通过Rmate方法

    虽然公司电脑win可以通过Xshell通过SSH远程连接家中内网linux服务器了,但是只能用vim编辑文件有点不爽. 于是上网查询,windows下使用vscode远程编辑服务器文件的办法.参照博文 ...

  6. 50 ubuntu下pcl编译以及用 VSCode配置pcl / opencv开发环境

    0 引言 最近在VSCode下搞开发,于是将pcl库迁移到这个环境下,用来跑一些依赖pcl的开源的代码以及自己做一些快速开发等. 1 pcl编译 主要参考了这篇博客,链接如下. https://blo ...

  7. Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境

    前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...

  8. VSCODE 配置远程调试环境

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16691460.html 我的需求是,在Windows桌面 ...

  9. VSCode配置远程免密登陆

    生成秘钥 在本地pc的cmd窗口输入:ssh-keygen -t rsa 生成秘钥 C:\Users\NZY/.ssh/id_rsa.pub 该目录就是生成的秘钥要保存的地方(以我自己的电脑为例) 将 ...

  10. windows 10使用vscode进行远程代码开发 | tutorial to use vscode for remote development using ssh on windows

    本文首发于个人博客https://kezunlin.me/post/c93b6ba6/,欢迎阅读最新内容! tutorial to use vscode for remote development ...

随机推荐

  1. Scrapy框架(一)--初识

    scrapy初识什么是框架? 所谓的框架简单通用解释就是就是一个具有很强通用性并且集成了很多功能的项目模板,该模板可被应用在不同的项目需求中. 也可被视为是一个项目的半成品. 如何学习框架? 对于刚接 ...

  2. Arduino实现温湿度传感器以及数据上传到云(乐维互联)

    0 准备材料 0.1 ESP-01S 引脚及定义 官方定义: 序号 pin 功能 1 GND 地线 2 IO0/GPIO0 工作模式选择:①悬空:Flash Boot,工作模式 ②下拉:UART Do ...

  3. python + pytestTestreport生成测试报告_报告没有生成图标和报告样式错乱

    pytestreport 生成测试报告的问题 1.生成报告html页面的样式错乱 2.生成报告html页面的图标没有展示 3. 生成报告html页面的查询详情按钮点击没有相应 问题排除: 浏览器开发者 ...

  4. 从JDK8升级到JDK17

    一.概述 鉴于JDK8已经是老古董,还有性能问题,兼且各个公司已经不再维护1.8的JDK,所以升级公司的核心产品之一的后端到JDK到17是相对要紧的事情. 通过升级到jdk17,具有以下好处: 不要在 ...

  5. 【VyOS-开源篇-3】- container for vyos 搭建 Halo 博客-vyos-开源篇

    文章说明:介绍在vyos软路由上配置container容器,vyos最新滚动版1.5已经支持在vyos命令行中启动docker容器,在vyos 官网介绍是说1.3版本之后就都有这个功能了,如果你的版本 ...

  6. JSP四个作用域和九个对象

    一.四个作用域 (1)Requset 请求作用域,就是客户端的一次请求 (2)Session 会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态.生命周期:会话超时,或者 ...

  7. 【论文阅读】RAL2020: UFOMap An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown

    Last edited time: March 31, 2023 1:30 PM Reference and prenotes Paper link:https://ieeexplore.ieee.o ...

  8. vba--分拆工作薄

    Sub 分拆工作薄() '分拆工作薄到当前文件夹 Dim sht As Worksheet Dim MyBook As Workbook Application.DisplayAlerts = Fal ...

  9. Spring的@Configuration和@Bean注解定义第三方bean

    @Configuration和@Bean注解的使用 @Configuration标注在类上,相当于把该类作为spring的xml配置文件中<beans>,作用为:配置spring容器(应用 ...

  10. CvT:微软提出结合CNN的ViT架构 | 2021 arxiv

    CvT将Transformer与CNN在图像识别任务中的优势相结合,从CNN中借鉴了多阶段的层级结构设计,同时引入了Convolutional Token Embedding和Convolutiona ...