SSH多跳配置


2

我一直在尝试在笔记本电脑上设置某种配置,所以我可以直接使用SSH连接到服务器,我可以间接访问,我在这里找到了一个很棒的配置: https:/ /superuser.com/a/303487/133737 所以我做了这个配置:

Host terzo , gw02, ipsec

ProxyCommand ssh zenoss nc -w 10 %h %p

但我希望能够ssh to forinstance zenipsec,它会直接通过zenoss

我希望创建这样的东西:

Host zen*

ProxyCommand ssh zenoss nc -w 10 %h `echo %h | cut -f2-100 -dn`

我想最后一部分`echo %h | cut -f2-100 -dn`,不起作用。有人可以帮忙吗?

Answers:


2

我使用的有用配置是这样的:

Host *%*
    ProxyCommand ssh $(echo %h | cut -d%% -f2-) nc $(echo %h | cut -d%% -f1) %p

它允许您通过使用%符号分隔主机来设置任意跳。例如,ssh zenipsec%zenoss跳过zenoss到达zenipsec。


1

您告诉netcat zenipsec用作主机和ipsec端口。以下内容应该是正确的:

nc -w 10 `echo %h | cut -f2-100 -dn` %p

更简洁的方法是编写一个充当ProxyCommand的脚本; 例如,~/bin/proxycommand-zen

#!/bin/sh
host=$1
port=$2
exec ssh zenoss nc -w 10 ${host#zen} $port
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.