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里,依此类推。

到此这篇关于vscode通过多个跳板机连接目标机(两种方案亲测成功)的文章就介绍到这了,更多相关vscode多个跳板机连接内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部