0

我已经多次尝试这些步骤,但都失败了。做了很多 RnD 但无法解决问题。

我正在使用在 Oracle VM 上运行的 CentOS。

我正在尝试使用 SSH 从 CentOS 主机 -> Jenkins -> 远程主机连接

我目前的工作目录是:/root/connect2nareshc/jenkins_0_to_hero/jenkins_image 我确实ssh-keygen -f remote-key生成了公钥和私钥。

/root/connect2nareshc/jenkins_0_to_hero/jenkins_image我的目录Dockerfile中如下:

FROM centos:7

RUN yum -y install openssh-server

RUN useradd remote_user  && \
    echo "1234" | passwd remote_user --stdin && \
    mkdir /home/remote_user/.ssh && \
    chmod 700 /home/remote_user/.ssh

COPY remote-key.pub /home/remote_user/.ssh/authorized_keys

RUN chown remote_user:remote_user -R /home/remote_user/.ssh && \
    chown 600 /home/remote_user/.ssh/authorized_keys

RUN ssh-keygen -A

CMD /usr/sbin/sshd -D

在上面的一个目录中/root/connect2nareshc/jenkins_0_to_hero,我有docker-compose.yml以下内容:

version: '3'
services:
  jenkins:
    container_name: jenkins_yml
    image: "jenkins/jenkins:lts"
    ports:
      - 8080:8080
    networks:
      - net
  remote_host:
    container_name: remote-host
    image: remote_host
    build:
      context: /root/connect2nareshc/jenkins_0_to_hero/jenkins_image
    networks:
      - net
networks:
  net:

我执行以下命令,它工作正常。即从主机我连接到 Jenkins,从 Jenkins 我使用密码连接到 remote_host。

docker-compose build
docker-compose up -d
docker exec -it jenkins_yml bash
ssh remote_user@remote_host
#Enter password 1234 when prompted.

当我尝试使用密钥进行连接时,我无法:

docker cp remote-key jenkins_yml:/tmp/remote-key
docker exec -it jenkins_yml bash
cd /tmp
ssh -i remote-key remote_user@remote_host

相反,它提示我使用密码连接。

在 remote_host 上,我做ls -altr/var/log并得到了以下输出。我找不到 auth.log

drwxr-xr-x. 1 root root   4096 May  4 15:36 ..
-rw-r--r--. 1 root root    193 May  4 15:36 grubby_prune_debug
-rw-------. 1 root utmp      0 May  4 15:36 btmp
drwxr-xr-x. 1 root root   4096 May  4 15:37 .
-rw-------. 1 root root   1751 Jul 28 16:35 yum.log
-rw-------. 1 root root  64064 Jul 28 16:36 tallylog
-rw-rw-r--. 1 root utmp   1152 Jul 29 03:17 wtmp
-rw-r--r--. 1 root root 292292 Jul 29 03:17 lastlog
4

0 回答 0