希望使用相同的主机和端口进行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
- Ran
ssh -L 0.0.0.0:yyyy:machineA:bbbb -f -C -q -N user@machineA
-
能通过ssh machinex -p yyyy从桌面ssh进入docker
注意:这个命令要求我们保存第一次的凭据我发布了以下命令:
ssh user @ machineX -p yyyy
但是我插入machineA:bbbb
为了dynamic地实现这个目的,我运行了一个带有shell模块的Ansible游戏手册,在X-machine上运行这个命令(从远程机器)