linux 文件 跳板机_VSCode 穿越跳板机调试远程代码

概述

  • 利用跳板机上的nc做前向代理
  • 随后编辑windows上的ssh config
  • 用vscode实现远程调试,和穿越跳板机的文件传输

确定连接方式

  • 利用nc 首先登录跳板机,输入"nc"
    如果跳板机有nc就可以用这种方式登录
  • 利用ssh -W 这种方式我没有配置成功,有兴趣请参考别的文章(文末)

配置ssh config(Windows)

  • 打开C:/Users/[你的用户名]/.ssh/config(如果没有就新建一个)
  • 输入:Host [远程服务器别名,随便起] HostName [远程服务器地址] User [远程服务器账户名] Port [远程服务器端口] ProxyCommand ssh.exe -p [跳板机端口] [跳板机地址] nc %h %p
  • 上一步中的ssh.exe是在windows环境才这样写的,如果要在mac环境配置,只需要去掉.exe换成ssh

MAC

ssh config的位置在:~/.ssh/config

其他同上

我的配置文件为例

Host google_gpu_03  # 随便起
  HostName 123.123.123.123 # 训练服务器IP
  User user2  # 训练服务器用户名
  Port 22
  ProxyCommand ssh.exe -p 32200 user1@122.122.122.122 nc %h %p  # 跳板机用户名和IP

vscode 登录

  • 打开vscode,点击View - Command palette
  • 点击Remote SSH: Connect to Host
  • 选择上一步配置的远程服务器别名
  • 按照提示分别输入跳板机,远程服务器的密码
  • 第一次连接的时候会花几分钟时间安装vscode server,即使远程服务器没有网络也可以安装成功

(可选)配置公钥免密登录

虽然可选,但是大多数人都会这么做,因为不这样做的话每次登录要输入服务器和跳板机的密码,不方便的话就没有远程调试的意义了

  • 配置从windows到跳板机的公钥
    • 打开powershell,输入ssh-keygen -t rsa
    • 把id_rsa.pub文件传到跳板机,并在跳板机上运行cat id_rsa.pub >> ~/.ssh/authorized_keys
    • 至此,就不用输入跳板机密码了
  • 配置从跳板机到远程服务器的公钥
    • 跳板机输入ssh-keygen -t rsa
    • 把跳板机的id_rsa.pub文件传到远程服务器,并在远程服务器上运行cat id_rsa.pub >> ~/.ssh/authorized_keys
    • 【重要】把你windows的id_rsa.pub,并在远程服务器上运行上述命令
      • (也就是说,所有前序机器的id_rsa.pub都要添加到最终机器上。比如说有3台机ABC,其中B是跳板机。那么A的.pub要在B跟C上分别导入一次,B的.pub要在C上导入一次,共3次)
    • 至此,就不用输入远程服务器密码了

查考

  • 关于ssh config的配置,我参考的是:https://www.hi-linux.com/posts/929.html
  • 关于vscode,我参考:https://www.aslinwang.com/2019/06/vsc-remote-dev/
  • 其他通过ssh -J连接的方法,我没有试过:https://zocodev.com/ssh-scp-over-jump-server.html
  • 关于MAC可以看:https://www.jianshu.com/p/7990ca55da69
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值