/ bin / sh: / usr / sbin / sshd-keygen: такого файла или каталога нет - PullRequest
0 голосов
/ 29 марта 2020

Я совершенно новичок в понятиях linux и docker

На моей машине windows я загружаю centos7 в виртуальный ящик

во время выполнения docker -композитной сборки Я получаю

 /bin/sh: /usr/sbin/sshd-keygen: No such file or directory

Как это исправить

Я пытался создать удаленного пользователя

docker-compose.yml

version: '3'
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins
    ports:
      - "8080:8080"
    volumes:
      - "$PWD/jenkins_home:/var/jenkins_home"
    networks:
      - net
  remote_host:
    container_name: remote-host
    image: remote-host
    build:
      context: centos7
    networks:
      - net
networks:
   net:
DockerFile

FROM centos

RUN yum -y install openssh-server

RUN useradd remote_user && \
    echo "Thevenus987$" | 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 && \
    chmod 600 /home/remote_user/.ssh/authorized_keys

RUN /usr/sbin/sshd-keygen

CMD /usr/sbin/sshd -D

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

ИЗ Centos извлекает последнюю версию по умолчанию, которая не включает sshd-keygen.

Вам нужно изменить свой Dockerfile на:

FROM centos:7
  ...
    && yum install -y initscripts \
    && /usr/sbin/sshd-keygen

CMD ["/usr/sbin/sshd", "-D"]
0 голосов
/ 29 марта 2020

1) в Dockerfile измените:

RUN /usr/sbin/sshd-keygen

на

RUN /usr/bin/ssh-keygen

2) или попробуйте

RUN sshd-keygen

, если оно включено и существует где-либо в вашем $ PATH, он выполнится.

...