从一个 docker 容器无密码登录到另一个容器
login without password from one docker container into another
我创建了 2 个 docker 容器。一个 Jenkins 和一个容器 运行 一个具有 ubuntu 基础的 openssh 服务器。
我配置了 Jenkins 容器购买拉 Jenkins 图像和 openssh 服务器我使用 Dockerfile 创建了图像。
我生成了密钥文件并将 public 密钥复制到 openssh 服务器的 authorized_keys。
然后当我尝试使用 Jenkins 容器登录到 openssh 服务器时
ssh -i remote-key remote_user@remote-host 它提示我输入密码。
这是我的 DockerFile 和 docker-compose
Docker 文件:
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-撰写
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:
通过密码登录成功,但我需要少密码登录。请帮忙
你应该在创建Dockerfile
时将authorised_keys
更改为authorized_keys
,两行有相同的问题:
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
我创建了 2 个 docker 容器。一个 Jenkins 和一个容器 运行 一个具有 ubuntu 基础的 openssh 服务器。 我配置了 Jenkins 容器购买拉 Jenkins 图像和 openssh 服务器我使用 Dockerfile 创建了图像。 我生成了密钥文件并将 public 密钥复制到 openssh 服务器的 authorized_keys。 然后当我尝试使用 Jenkins 容器登录到 openssh 服务器时 ssh -i remote-key remote_user@remote-host 它提示我输入密码。
这是我的 DockerFile 和 docker-compose Docker 文件:
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-撰写
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:
通过密码登录成功,但我需要少密码登录。请帮忙
你应该在创建Dockerfile
时将authorised_keys
更改为authorized_keys
,两行有相同的问题:
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