vscode通过多个跳板机连接目标机(两种方案亲测成功)

本文介绍了如何在OpenSSH7.3及以上版本中使用ProxyJump进行多层跳板机连接,以及ProxyCommand的使用方法,还探讨了免密登录的过程,包括公钥管理。作者提到ProxyCommand在某些情况下可能会遇到问题,但提供了替代的成功配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ProxyJump(推荐使用)

需要OpenSSH 7.3以上版本才可使用,可用下列命令查看:

ssh -V

ProxyJump命令行使用方法

ssh -J [email protected]:port1,[email protected]:port2

一层跳板机:

ssh dst_username@dst_ip -p dst_port -J jump_username@jump_ip:jump_port

多层跳板机用,隔开,顺序从左至右

ssh dst_username@dst_ip -p dst_port -J jump1_username@jump1_ip:jump1_port,jump2_username@jump2_ip:jump2_port

vscode中config配置

Host jump
    HostName xxx
    User xxx
    Port xxx

Host jump1
    HostName xxx
    User xxx
    Port xxx

Host server
    HostName xxx
    User xxx
    Port xxx
    ProxyJump jump,jump1

2、ProxyCommand

博客上大多的方法都是使用这种,但是本人亲测出现了诸多报错,包括重装了ssh还是有各种问题

openssh在7.3以下可使用此方法

proxycommand命令行使用方法

ssh username@目标机器IP -p 22 -o ProxyCommand='ssh -p 22 username@跳板机IP -W %h:%p'
Host JumpMachine
    # 跳板机的ip地址
    HostName A
    # 你跳板机的用户名
    User username
    # 跳板机登录端口 
    Port 22

Host TargetMachine
    # 目标机的ip地址
    HostName B
    # 你目标机的用户名
    User username
    # 目标机登录端口 
    Port 22
    ProxyCommand "openssh的安装路径"\ssh.exe -W %h:%p JumpMachine

上图方法本人使用失败了,但是有的人可以成功,暂时不清楚原因,使用下图方法反而成功了

Host server
    HostName xxxx
    User xxxx
    Port xxxx
    ProxyCommand C:/Windows/System32/OpenSSH/ssh.exe -p jump_port jump_username@jump_ip -W %h:%p

3、免密登录

1、在本地powershell中输入:

ssh-keygen

红色框里的路径即公钥保存的位置

2、以两层跳板机为例,先连接跳板机1,将本地生产的公钥复制到.ssh中的authorized_keys里

mkdir .ssh
mv id_rsa.pub .ssh
cd .ssh
cat id_rsa.pub >> authorized_keys
sudo chmod 600 authorized_keys
再重新登录服务器

3、在跳板机1里继续使用ssh-keygen把公钥以相同的方法加入到跳板机2的authorized_keys里,依此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值