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 ...
随机推荐
- es创建索引及别名更新mapping方法 elasticsearch [nested] nested object under path [XXX] is not of nested type
[nested] nested object under path [XXX] is not of nested type这是因为在创建索引时没有指定类型为数组,这就是一个大坑,ES官方说可以不用指定 ...
- Angular项目简单使用拦截器 httpClient 请求响应处理
1:为啥要使用拦截器 httpClient 请求响应处理,其作用我们主要是: 目前我的Angular版本是Angular 17.3,版本中实现请求和响应的拦截处理了.这种机制非常适合添加如身份验证头. ...
- 搭建第一个web项目
实现使用: 1.创建一个普通java文件 2.Java文件的类名实现HttpServlet 3.重写service方法 4.在WEB-INF下的web.xml中添加请求与servlet类的映射关系 定 ...
- python 方法调用另一个方法报错,捕获的异常只有message,优化为trackback捕获详细的报错信息
A方法加了try...expect... B方法也加了try....expect... B方法调用了A方法,A方法查找元素,找不到报超时异常,实际B捕获到的异常,只有message\n,没有办法看出是 ...
- Bloom Filter布隆过滤器
简介 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 "某样东西一定不存在或者可 ...
- 09-Python模块
导入模块 通过import导入模块 import time #导入模块time time.sleep(50) #睡眠50s 导入模块并重命名 import time as t #导入模块time重命名 ...
- C++中UNIX时间戳与日期互转
C++中UNIX时间戳与日期互转 使用time.h头文件 localtime 可以把时间戳转为 tm 结构体, tm结构体中可以格式化输出时间 mktime可以把tm结构体转为时间戳 tm 结构体中: ...
- selenium的各种操作
import time from selenium.webdriver import Edge from selenium.webdriver.common.by import By from sel ...
- 【基础整理】Mapping representation 机器人所用地图种类及相关介绍
参考与前言 本文主要介绍 建图 Mapping 方面的一些 基础知识介绍与相关下游任务使用 涉及知识较为基础,SLAM大佬们可以提前退出了 主要针对应用为移动机器人与物流无人驾驶车:提前申明:大部分文 ...
- 【路径规划】 The Dynamic Window Approach to Collision Avoidance (附python代码实例)
引用与前言 参考链接 引用参考如下: 博客园解释:https://www.cnblogs.com/dlutjwh/p/11158233.html 这篇博客园写的贼棒!我当时就是一边对着论文一边对着他这 ...