ssh 连接到主机端口 22:连接被拒绝

ssh 连接到主机端口 22:连接被拒绝

所以我有一个 docker 容器,我想从主机使用 ssh 连接到它(我知道没有指示 ssh 到 docker 容器,但我需要这样做)。

我在容器和主机上都安装了 open ssh 服务器,并且服务在两者上运行。我还检查了 docker 和主机的端口,发现都是 22。我尝试以root非特权用户身份连接到它。我该怎么办?

运行时ssh user@host -vvv我得到了这个:

debug1: reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "host" port 22
debug2: ssh_connect_direct: needpriv 0
debug2: connecting to host [host] port 22
debug1: connect to address host port 22: connection refused

答案1

默认情况下,docker 容器不暴露任何端口。

要向您的主机公开端口,您需要添加选项:-p 22:22在开始运行容器时公开端口。

例子:

docker run -p 22:22 $CONTAINER_NAME

要永久公开 Docker 中的端口,您需要编辑Dockerfile容器并重建它。

Dockerfile添加行中。

EXPOSE 22

不建议将 ssh 端口暴露给生产中运行的容器。

相关内容