windows+vscode穿越跳板机调试远程代码

1、安装vscode,ssh
2、添加插件:Remote - SSH
3、配置远程机器
配置远程机器
添加远程机器地址:
添加跳板机及远程服务器配置
其中:
Host 自定义远程服务器名称
HostName 远程服务器IP或域名
Port 远程服务器ssh连接端口
User 远程服务器登录用户
ProxyCommand 本机登录跳板机的命令: ssh -p 跳板机ssh端口 跳板机User@跳板机HostName -W %h:%p 2> /dev/null

4、连接远程服务器项目
实现从本地开发电脑(win10)的vscode直接开发远程服务器代码

在新窗口打开连接的远程主机
选择远程服务器操作系统
要求输入跳板机及远程服务器密码
选择远程服务器上的目录:
选择远程主机上项目目录
如果报错:

...
[20:50:57.334] > CreateProcessW failed error:2
> 
[20:50:57.344] > posix_spawn: No such file or directory
> 过程试图写入的管道不存在。
> 
...

解决:
将配置文件里的ssh改为ssh.exe:
ProxyCommand ssh.exe -p 跳板机ssh端口 跳板机User@跳板机HostName -W %h:%p 2> /dev/null

5、设置免密登录
如果没有进行免密登录配置,每次连接时,都会需要输入跳板机密码,然后输入远程服务器密码。下面进行免密配置:
(1)在本地开发电脑(windows)cmd窗口
生成秘钥:ssh-keygen -t rsa -b 4096
并根据提示找到秘钥的生成位置,如C:\Users\XXX\.ssh目录下,并切换到该目录下,生成了秘钥文件id_rsa.pub和rd_rsa.pub。我这里为了避免重复,将rd_rsa.pub重命名为rd_rsa.pub.1
本地秘钥文件
(2)免密登录跳板机
将id_rsa.pub发送到跳板机:
ssh-copy-id -i id_rsa.pub.1 “-p 跳板机ssh端口 用户名@跳板机IP”
或者通过xshell进行传输。
登录跳板机,到~/.ssh/目录下将公钥添加到authorized_keys
添加公钥到认证文件
这样,vscode打开远程文件夹时,就不会再提示输入跳板机密码。
(3)免密登录远程服务器
在跳板机终端将windows的公钥文件发送到远程服务器
scp -P 22 id_rsa.pub.1 root@远程服务器ip:~/.ssh/
通过ssh登录远程服务器,到~/.ssh/目录下将公钥添加到authorized_keys:
cat id_rsa.pub.1 >> authorized_keys

跳板机输入ssh-keygen -t rsa
把跳板机的id_rsa.pub文件传到远程服务器,并在远程服务器上运行cat id_rsa.pub >> ~/.ssh/authorized_keys

【重要】所有前序机器的id_rsa.pub都要添加到最终机器上。比如说有3台机ABC,其中B是跳板机。那么A的.pub要在B跟C上分别导入一次,B的.pub要在C上导入一次,共3次
这样,vscode打开远程文件夹时,就不会再提示输入远程服务器密码。

完成配置。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值