【发布时间】:2021-08-10 14:31:42
【问题描述】:
我在我的 Windows 10 上安装了 Docker,我正在使用我的 WSL1 来创建 dockerfile、构建和运行容器,但我无法通过 ssh 连接,我得到 Permission denied (publickey,password)强>
我的 dockerfile 是:
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:screencast' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
我的 docker ps 是:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b41411ef7a8a eg_sshd "/usr/sbin/sshd -D" 4 minutes ago Up 4 minutes 0.0.0.0:32768->22/tcp test_sshd
ssh 端口是这样的:
➜ root$ docker port test_sshd 22
0.0.0.0:32768
当我尝试通过 ssh 连接时,我得到 “权限被拒绝”
➜ root$ ssh root@0.0.0.0 -p 32768
root@0.0.0.0: Permission denied (publickey,password).
ssh 服务启动
➜ root$ docker exec b41411ef7a8a service ssh status
* sshd is running
我做错了什么......我不知道。
【问题讨论】: