在.ssh / config

时间:2015-12-28 17:23:54

标签: linux ssh portforwarding ssh-tunnel

我实际上是在摸索这个。

我找到了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

就是我所需要的。

我错过了什么?

2 个答案:

答案 0 :(得分:0)

第一个命令(与ssh config结合使用)以用户hop登录extUser,然后以用户100登录user计算机

第二个命令尝试以用户extUser身份登录到两台计算机。这可能是它失败的原因 - 因为用户extUser没有100机器上的访问设置。

答案 1 :(得分:0)

只是为了记录,如果有人提出这个问题。

以上所有内容都是正确无误的。是什么欺骗了我,是我的方式太聪明的浏览器,通过尝试localhost:9080转换为www.localhost.com:9080,当然失败可怕。 面团

愚蠢聪明的火狐