linux ssh节点是否可能来自另一个ssh节点?

jucafojl  于 2023-11-17  发布在  Linux
关注(0)|答案(2)|浏览(102)

我认为这是一个非常奇怪的方式来使用这个,但我需要它。主要用途是获得机器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。
这意味着在命令行中使用机器A的密钥,该命令是ssh到B,并告诉B ssh C并获取信息。
A和B使用10.6.47.xx域通信,B和C使用192.168.1.X域通信。
虽然我已经尝试ssh email protected(https://stackoverflow.com/cdn-cgi/l/email-protection) 'ssh email protected(https://stackoverflow.com/cdn-cgi/l/email-protection) 'ifconifg eth1'',但似乎引用是一个问题.我已经尝试创建一个包含ssh命令的shell脚本到机器C,告诉B ssh到C并执行此脚本,但仍然失败.
有没有可能从另一个ssh节点ssh?
谢谢您的帮助。

omqzjyyz

omqzjyyz1#

当然,使用ssh的隧道功能。假设你想通过端口10022隧道(任何端口号都可以,只要它不在本地机器上使用,并且它是1024或更大):
1.第一个月

  1. ssh -p10022 [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
    这两个命令必须在单独的会话中运行(都来自机器A),因为第一个连接必须保持活动状态,第二个连接才能工作。
gmol1639

gmol16392#

或者简单地说:

ssh -J user@<bastion:port> <user@remote:port>

字符串
你的ssh密钥需要在两个节点上

相关问题