如何解决在没有密码的情况下从一个Docker容器登录到另一个
我创建了2个docker容器。一个Jenkins和一个容器运行带有ubuntu base的openssh服务器。 我配置了Jenkins容器购买了拉Jenkins映像,对于openssh服务器,我已经使用Dockerfile创建了该映像。 我生成了密钥文件,并将公共密钥复制到openssh服务器的authorized_keys。 然后当我尝试通过Jenkins容器使用以下方式登录到openssh服务器时 ssh -i remote-key remote_user @ remote-host提示我输入密码。
这是我的DockerFile和docker-compose DockerFile:
From ubuntu
Run apt-get update
Run apt-get install -y openssh-server
Run useradd -m -d /home/remote_user remote_user && \
echo "remote_user:1234" |chpasswd && \
mkdir -p /home/remote_user/.ssh && \
chmod 700 /home/remote_user/.ssh
Copy remote-key.pub /home/remote_user/.ssh/authorised_keys
Run chown remote_user:remote_user -R /home/remote_user/.ssh && \
chmod 600 /home/remote_user/.ssh/authorised_keys
RUN service ssh start
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]`
docker-compose
version: '3'
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins
ports:
- "8080:8080"
volumes:
- "/home/sarthak/jenkins/jenkins1/jenkins1_home:/var/jenkins_home"
networks:
- net
remote_host:
container_name: remote-host
image: remote-host
build:
context: /home/sarthak/jenkins/jenkins1/
networks:
- net
networks:
net:
通过密码登录成功,但是我需要的密码少了登录。请帮忙
解决方法
创建authorised_keys
时,应将authorized_keys
更改为Dockerfile
,两行有相同的问题:
COPY remote-key.pub /home/remote_user/.ssh/authorized_keys
和
RUN chown remote_user:remote_user -R /home/remote_user/.ssh && \
chmod 600 /home/remote_user/.ssh/authorized_keys
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。