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参数中。
------------------------------------------------------------------

posted on 2023-02-25 11:24 Angry_Panda 阅读(526) 评论(0) 收藏 举报
 
                    
                     
                    
                 
                    
                 
                
            
         
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号