Docker 要为ssh会话使用相同的主机和端口吗

Docker 要为ssh会话使用相同的主机和端口吗,docker,ssh,portforwarding,Docker,Ssh,Portforwarding,我有X机器,端口yyy,并且在机器a,端口bbbb中运行docker容器。我想永远给你sshuser@X-p yyyy发送给用户,但是当用户使用X:yyy执行ssh时,我希望ssh会话自动转发到机器a:port bbbb。(用户不应感到他正在连接到另一台机器) 将来,如果我在机器C中旋转相同的docker容器,端口dddd。我不希望用户使用新的机器名和端口,我希望用户继续使用x:yyyy,但会话转发到c:dddd。我该怎么做?我想让机器动态地x:yyyy指向c:dddd,请问我应该如何进行语法配

我有X机器,端口yyy,并且在机器a,端口bbbb中运行docker容器。我想永远给你sshuser@X-p yyyy发送给用户,但是当用户使用X:yyy执行ssh时,我希望ssh会话自动转发到机器a:port bbbb。(用户不应感到他正在连接到另一台机器) 将来,如果我在机器C中旋转相同的docker容器,端口dddd。我不希望用户使用新的机器名和端口,我希望用户继续使用x:yyyy,但会话转发到c:dddd。我该怎么做?我想让机器动态地x:yyyy指向c:dddd,请问我应该如何进行语法配置?(用户需要在Putty中保存相同的会话详细信息)

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


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

我找到了一种进行SSH端口转发的方法,希望与大家分享

以下工作: ssh端口转发 登录到机器X

  • Ran
    ssh-l0.0.0:yyyy:machineA:bbbb-f-C-q-Nuser@machineA
  • 能够通过ssh machinex-p yyyy从桌面ssh到docker中
    注意:此命令要求我们第一次保存凭据

    我发布了以下命令:

  • sshuser@machineX-p yyyy

    但是我被送进了机器A:bbbb


    为了动态地实现这一点,我运行了一个带有shell模块的Ansible playbook,在X-machine中运行这个命令(从远程机器)

    您可以使用AutoSh进行这种类型的端口转发

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

    要实现这一点,首先需要machineA在端口yyyy:localhost:22的machineX上自动连接

    autossh -N -f -R yyyy:localhost:22 username@IP_ADDRESS_MACHINE_X
    
    然后从machineX可以轻松连接到machineA

    如果您使用ssh密钥进行配置,则用户不必输入密码


    请看一下博客:

    天哪,你伤了我的脑筋。太抽象的机器和端口。我会把它画在脑海里。