vscode配置远程项目开发
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配置远程项目开发的更多相关文章
- Mac上利用VScode配置c/c++开发环境
Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...
- PhpStorm10和Apache24配置多项目开发环境
PhpStorm10和Apache24配置多项目开发环境 Apache配置 httpd.conf LoadModule vhost_alias_module modules/mod_vhost_ali ...
- VsCode配置C/C++开发环境
Visual Studio Code(VS Code)是基于 Electron 开发,支持 Windows.Linux 和 macOS 操作系统.内置了对JavaScript,TypeScript和N ...
- Mac OS中使用VScode配置C语言开发环境
个人博客 chinazt.cc 闲话少叙,直奔主题 下载VSCode https://code.visualstudio.com/download 安装C/C++插件 需要两个插件: 1. cppto ...
- windows系统下用VScode配置远程编辑服务器文件的环境!通过Rmate方法
虽然公司电脑win可以通过Xshell通过SSH远程连接家中内网linux服务器了,但是只能用vim编辑文件有点不爽. 于是上网查询,windows下使用vscode远程编辑服务器文件的办法.参照博文 ...
- 50 ubuntu下pcl编译以及用 VSCode配置pcl / opencv开发环境
0 引言 最近在VSCode下搞开发,于是将pcl库迁移到这个环境下,用来跑一些依赖pcl的开源的代码以及自己做一些快速开发等. 1 pcl编译 主要参考了这篇博客,链接如下. https://blo ...
- Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境
前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...
- VSCODE 配置远程调试环境
以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16691460.html 我的需求是,在Windows桌面 ...
- VSCode配置远程免密登陆
生成秘钥 在本地pc的cmd窗口输入:ssh-keygen -t rsa 生成秘钥 C:\Users\NZY/.ssh/id_rsa.pub 该目录就是生成的秘钥要保存的地方(以我自己的电脑为例) 将 ...
- 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 ...
随机推荐
- java8 Lambda 测试示例
import com.google.gson.Gson; import org.junit.Test; import java.util.Arrays; import java.util.IntSum ...
- 关于编译告警 C4819 的完整解决方案 - The file contains a character that cannot be represented in the current code page (number). Save the file in Unicode format to prevent data loss.
引言 今天迁移开发环境的时候遇到一个问题,同样的操作系统和 Visual Studio 版本,原始开发环境一切正常,但是迁移后 VS 出现了 C4819 告警,上网查了中文的一些博客,大部分涵盖几种解 ...
- python + pytestTestreport生成测试报告_报告没有生成图标和报告样式错乱
pytestreport 生成测试报告的问题 1.生成报告html页面的样式错乱 2.生成报告html页面的图标没有展示 3. 生成报告html页面的查询详情按钮点击没有相应 问题排除: 浏览器开发者 ...
- 高通LCD开发常见问题&分析
reference : https://blog.csdn.net/sinat_34606064/article/details/77921323 https://www.cnblogs.com/bi ...
- 基于 .net core 8.0 的 swagger 文档优化分享-根据命名空间分组显示
前言 公司项目是是微服务项目,网关是手撸的一个.net core webapi 项目,使用 refit 封装了 20+ 服务 SDK,在网关中进行统一调用和聚合等处理,以及给前端提供 swagger ...
- Webpack5
Webpack是一款模块打包工具,可以把多个文件打包成一个或几个文件,它不仅能打包JS文件, 还能打包css, image等静态资源.当然,在默认情况下,它只打包JS文件和JSON文件,因为它只认识J ...
- Top cluster 树分块
写点基础的东西.随便写的,勿喷. top cluster 一个 cluster 是一个联通子图,且至多有两个点与其他部分连接 这两个点被称为 boundary node 其余点被称为 internal ...
- 树莓派4B安装64位桌面版ubuntu20
[准备] 硬件: 电脑.树莓派4B.显示器(hdmi线Micro HDMI转标准HDMI).鼠标.键盘.读卡器.TF卡.网线 软件:ubuntu20(x64桌面版).官方烧录工具Raspberry P ...
- SSM配置文件分类及总结
配置组件通常涉及以下几个方面 数据访问配置 配置数据源.JdbcTemplate.事务管理器等,以支持数据库操作. 服务层与DAO层配置 定义服务类和服务实现类.数据访问对象(DAO)的bean,以及 ...
- Mybatis 二级缓存的使用
Mybatis二级缓存 简介:二级缓存是namesace级别的,多个SqlSession去操作同个namespace下的Mapper的sql语句,多个SqlSession可以共用二级缓存,如果两个ma ...