是否可能从另一个ssh节点ssh节点?

时间:2014-07-04 04:20:48

标签: linux ssh

我认为使用它是一种非常奇怪的方式,但我需要它。 主要用途是获得机器C动态IP。

我有三台Linux机器(让我们称之为A,B,C),让我们假设 A有IP 10.6.47.100(动态IP) B具有IP 10.6.47.102(动态IP),192.168.1.1(静态IP) C具有IP 10.6.47.104(动态IP),192.168.1.2(静态IP)

条件是,我的程序在机器A上运行,我只知道机器B IP(动态和静态IP)。

我想使用机器B域192.168.1.x通过“a”命令行获取机器C动态IP。

哪个意思 使用机器命令行中的一个键,这个命令是ssh到B并告诉B到ssh C并获取信息。

A和B使用10.6.47.xx域进行通信,B和C使用192.168.1.X域进行通信。

尽管我已经尝试过了 ssh user1@10.6.47.102'ssh user2@10.6.47.104'ifconifg eth1'',但似乎引用是个问题。 我已经尝试创建一个include ssh命令的shell脚本来加工C,告诉B ssh到C并执行这个脚本但仍然失败。

是否有可能从另一个ssh节点ssh?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

当然,使用ssh的隧道功能。假设您想要通过端口10022进行隧道传输(任何端口号都可以,只要它在本地计算机上没有使用,并且它是1024或更高):

  1. ssh -L10022:192.168.1.2:22 user1@10.6.47.102
  2. ssh -p10022 user2@127.0.0.1
  3. 这两个命令必须在不同的会话中运行(均来自机器A),因为第一个连接必须保持活动状态才能使第二个连接起作用。