我实际上是在摸索这个。
我找到了port-forwarding via multiple ssh-hops的优秀指南。
在本指南中,我试过这个:
这有效:
$ ssh -t hop -L 9080:localhost:9080 \
> ssh -A -t user@192.168.1.100 -L 9080:localhost:9080
使用.ssh / config
Host hop
User extUser
IdentityFile ~/.ssh/id_rsa.company.pub
Hostname company.com
ForwardAgent yes
Port 11000
这实际上是在我的机器上打开一个端口,通过跳转到端口9080的100目标机器的服务。
跃点服务器可以访问192.168.1.100:9080(即wget 192.168.1.100:9080
成功)
因此,根据指南,这也应该有效:
ssh -L 9080:192.168.1.100:9080 hop
但事实并非如此。它打开与跳转ssh点的连接(-f -N)将阻止此操作)但隧道不会转发到目标。我错过了什么?
当然最后它应该全部在.ssh / config:
Host tunneled-9080
User extUser
IdentityFile ~/.ssh/id_rsa.company.pub
Hostname company.com
ForwardAgent yes
Port 11000
LocalForward 9080 192.168.1.100:9080
这么简单
ssh -f -N tunneled-9080
就是我所需要的。
我错过了什么?
答案 0 :(得分:0)
第一个命令(与ssh config
结合使用)以用户hop
登录extUser
,然后以用户100
登录user
计算机
第二个命令尝试以用户extUser
身份登录到两台计算机。这可能是它失败的原因 - 因为用户extUser
没有100
机器上的访问设置。
答案 1 :(得分:0)
只是为了记录,如果有人提出这个问题。
以上所有内容都是正确无误的。是什么欺骗了我,是我的方式太聪明的浏览器,通过尝试localhost:9080
转换为www.localhost.com:9080
,当然失败可怕。 面团
愚蠢聪明的火狐