跳ssh连接到Docker容器需要跳机密码

问题描述 投票:0回答:0

我在一个远程集群上工作,在那里我可以直接访问一个管理器节点,该管理器节点使用 Slurm 将我重定向到计算节点。

在其中一个计算节点上,我有一个正在运行的 Docker 容器,我想从我的本地机器通过 ssh 进入这个容器。所以,情况是这样的:

local_machine -->  manager_node --> compute_node
                                         |
                                         V
                                   docker_container   

在本地机器上,我有一个 ~/.ssh/config 文件:

Host manager_node
        HostName manager_node_address
        User my_user
        IdentityFile ~/.ssh/id_rsa

Host compute_node
        HostName compute_node_address
        User my_user
        ProxyJump manager_node
        IdentityFile ~/.ssh/id_rsa

到目前为止,一切正常,我可以通过以下方式连接到 compute_node 而无需密码:

ssh compute_node

在 compute_node 上,我启动了一个运行 ssh 的 Docker 容器:

docker run -it -p 20090:22 container_name

所以,从 compute_node 我可以使用:

ssh root@container_ip

并从 compute_node 本身访问 Docker 容器(它需要密码,我在 Dockerfile 中设置)。

问题是,我正在尝试将所有内容放在一起,即我想从本地计算机通过 ssh 连接到容器。 我正在尝试使用:

ssh -J my_user@compute_node:20090 root@container_ip_address

但现在我需要输入 compute_node 的密码。我没有密码,直接连接compute_node一般不需要密码。我该如何解决这个问题?

docker ssh ssh-tunnel
© www.soinside.com 2019 - 2024. All rights reserved.