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 - 使用Settings进行同步扩展以及配置信息等
- vue - 前置工作 - 安装vsCode以及插件
- Visual Studio Code (vscode)编译C++
- vscode运行C/C++程序及配置
- vscode添加Astyle
- vscode 配置搜索过滤目录
- vscode 代码段 配置代码片段 snippets
- vscode 自动换行 关闭
- 【VSCode】配置vue快捷键/快速输入/模板
- 【VSCode】koroFileHeader插件自动添加文件及函数注释
- vscode (Visual Studio Code) 配置Python 虚拟环境
- vscode 配置使用 pip 标准库管理器
- VsCode中运行nodeJs代码的简单方法
- mac下一些vscode的初始化设置和使用
- Linux环境下配置vscode的C/C++ 的make编译环境(编写makefile方式)
- 【转载】 vscode如何在最新版本中配置c/c++语言环境中的launch.json和tasks.json?
- VSCode配置verilog环境(代码提示+自动例化+格式化)
- VSCode配置(二)
- VSCode中Python格式设置
- VSCode配置leetcode刷题以及参赛环境
- 分享一个vscode主题收录网站,有了这个网站不用再求别人啦
- Linux 之 Ubuntu 代码开发工具 Visual Studio Code(VSCode) 的安装与一些常用插件配置的简单整理
- VSCode运行JavaScript代码
- VScode同步设置错误LocalInvalidContent (UserDataSyncError) syncResource:settings operationId:unknown的解决
- VSCode + CMake + MinGW实战教程
- 使用vscode下载插件在线打开html界面,解决没有Open in default brower选择问题
- Sonar:VSCode配置SonarLint/SonarLint连接SonarQube
- vue:VSCode添加自定义vue文件初始化模板
- vscode如何新建项目