希望使用相同的主机和端口进行ssh会话

在这里输入图像说明 我有X机器,端口yyyy ,并且还运行机器A,港口bbbbdocker集装箱。 我想总是给用户ssh user @ X -p yyyy ,但是当用户使用X:yyyy做一个ssh时,我希望ssh会话自动转发到机器A:port bbbb 。 (用户不应该觉得他连接到不同的机器)将来,如果我在机器C,端口dddd中旋转相同的docker容器。 我不希望用户使用新的机器名称和端口,我希望用户继续使用x:yyyy,但将会话转发到c:dddd。 我该怎么做呢 ? 我想让机器dynamic地将x:yyyy指向c:dddd,请问我该怎么configuration呢? (用户需要在Putty中保存相同的会话详细信息)

对于罗伯特的评论,我添加了一张图片来解释这个问题

我解决了这个问题,并在下面为这个问题添加了答案。

您可以使用autossh来进行这种types的端口转发。

我使用相同types的方法来连接防火墙保护的机器。

为了达到这个目的,首先你需要machineA在machineX的端口yyyy:localhost:22上自动连接

autossh -N -f -R yyyy:localhost:22 username@IP_ADDRESS_MACHINE_X 

然后从machineX轻松连接到machineA。

如果你用ssh键configuration这个,那么用户不必input密码。

请在UBUNTU看看博客: AutoSSH

我find了一个做SSH端口转发的方法,想和大家分享一下

以下工作:SSH端口转发login到机器X

  1. Ran ssh -L 0.0.0.0:yyyy:machineA:bbbb -f -C -q -N user@machineA
  2. 能通过ssh machinex -p yyyy从桌面ssh进入docker
    注意:这个命令要求我们保存第一次的凭据

    我发布了以下命令:

ssh user @ machineX -p yyyy

但是我插入machineA:bbbb

在这里输入图像说明

为了dynamic地实现这个目的,我运行了一个带有shell模块的Ansible游戏手册,在X-machine上运行这个命令(从远程机器)