我有一个安装了openssh的容器,可以通过命令ssh 172.17.0.2连接。
现在我想在主机端获得一个端口(比如32769),并将端口22 ( docker容器的)映射到它,这样做的原因是我想让ssh 127.0.0.1 -p 32769在本地主机上工作,我得到的错误是:ssh_exchange_identification: read: Connection reset by peer。端口映射在坞站引擎上正常显示:0.0.0.0:32769->22/tcp。
有人能帮我一下吗?非常感谢!
发布于 2020-11-23 15:07:13
首先(通过docker exec或docker attach会话)检查SSH守护进程是否正在容器中运行:
service ssh status
# or
service sshd status确保您有正确的IP地址
sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" Container_Name使用正确的SSH URL:
ssh root@172.17.0.2在Sofija Simic的"How to SSH into a Running Docker Container and Run Commands“中可以看到更多。
在您的情况下,使用docker run -p 32769:22是一个好主意。
OP在讨论中提到了docker代理的一个问题:
docker-proxy
未将容器的eth0作为
-container-ip获取。
这是我得到的
/usr/bin/docker-proxy主机tcp - -proto -ip 0.0.0.0 -主机端口32785 \-容器-ip 172.21.1.2 -容器端口22
https://stackoverflow.com/questions/64963372
复制相似问题