如何通过Linux路由器机器在两台Linux机器之间连接

如何通过Linux路由器机器在两台Linux机器之间连接

我有三台 Linux 机器,连接如下:

   Linux_machine1  -->  Route_linux_machine -->  Linux_machine2

如何仅通过 Route_linux_machine 从 Linux_machine1 ssh 到 Linux_machine2

就像 Route_linux_machine 是通往 Linux_machine2 的路线

答案1

这取决于是什么Route_linux_machine

Route_linux_machine是一个路由器

如果它只是一个路由器(意味着那里没有 SSH 服务/帐户):那么您应该添加一些iptables规则来重定向网络流量。例如,类似:

iptables -t nat -A PREROUTING -d linux_machine2_alias \
    -p TCP --dport 22 -j DNAT --to-destination linux_machine2:22

(其中linux_machine2_alias是另一个 IP 地址,属于route_linux_machine)然后,从您的计算机,您必须通过 SSH 连接到linux_machine2_alias(实际上是路由器),后者会将其重定向到linux_machine2

Route_linux_machine是一个 SSH 网关

如果您在 上有 SSH 帐户Route_linux_machine,则可以建立 SSH 隧道。

ssh user@route_linux_machine -L2222:linux_machine2:22

linux_machine2然后,你自己机器的2222端口就会被重定向到via的22端口route_linux_machine。你只需要做:

ssh user@localhost -p 2222

虽然看起来您正在连接到自己的计算机 ( localhost),但实际上您将被重定向到linux_machine2

作为替代方案,如果您不想使用隧道,可以使用嵌套ssh命令:

ssh -t -A user@route_linux_machine ssh user@linux_machine2

它将首先提示您输入route_linux_machine密码,然后再提示linux_machine2您输入密码。

相关内容