通过多跳的SSH隧道

坏的

通过SSH隧道传输数据非常简单:

ssh -D9999 [email protected]

在您的上将端口9999设置localhost为的隧道example.com,但我有一个更具体的需求:

  • 我正在本地工作 localhost
  • host1 可访问 localhost
  • host2 仅接受来自 host1
  • 我需要创建一条从localhost的隧道host2

实际上,我想创建一个“多跳” SSH隧道。我怎样才能做到这一点?理想情况下,我想执行此操作而无需成为任何计算机上的超级用户

米卡·菲舍尔(Mika Fischer)

您基本上有三种可能性:

  1. localhost到的隧道host1

    ssh -L 9999:host2:1234 -N host1
    

    如上所述,将不会确保host1的连接host2

  2. 从隧道localhosthost1host1host2

    ssh -L 9999:localhost:9999 host1 ssh -L 9999:localhost:1234 -N host2
    

    这将打开从隧道localhosthost1从另一个隧道host1host2但是9999to的端口host2:1234可以由上的任何人使用host1这可能是问题,也可能不是问题。

  3. 从隧道localhosthost1localhosthost2

    ssh -L 9998:host2:22 -N host1
    ssh -L 9999:localhost:1234 -N -p 9998 localhost
    

    这将打开一条隧道localhost,以host1通过SSH服务上host2都可以使用。然后,第二条隧道从localhosthost2第一条隧道打开

通常,我会选择选项1。如果需要保护host1的连接host2,请选择选项2。选项3主要用于访问host2只能从host2自身访问的服务

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章