Ssh_exchange_identification: чтение: сброс соединения с помощью сверстника; ubuntu в Докере

Jonas Laursen спросил: 28 апреля 2018 в 09:22 в: linux

Я пытаюсь настроить некоторые изображения Ubuntu в Docker, которые будут использоваться как honeypots.

Я следил за руководством отсюда: https://github.com/mrschyte/dockerpot

Это копия файла Docker, в котором я использую:

FROM ubuntu:16.04RUN 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/sshdENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profileEXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

Запуск docker ps Я вижу, что создаются сборы:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b7c1962cfc27        def9be976ec5        "/sbin/init"        45 minutes ago      Up 19 minutes       22/tcp              honeypot-192.168.122.1

, но когда я пытаюсь подключиться к ним с моей машины, соединение сбрасывается с ошибкой: ssh_exchange_identification: read: Connection reset by peer


1 ответ

Есть решение
Jonas Laursen ответил: 28 апреля 2018 в 10:02

Удаление /sbin/init из сценария инициализации устраняет проблему.

Что-то об этом не должно использоваться в докере, так как оно не может инициализировать службы.

Haresh Chhelana ответил: 28 апреля 2018 в 10:07
Я думаю, что эта строка CMD ["/ usr / sbin / sshd","-D"] не требуется на Dockerfile, правильно?
Jonas Laursen ответил: 28 апреля 2018 в 10:53
Он отлично работает с ним, но не уверен, требуется ли это. Не хотите пересобирать образ, теперь, когда он работает.
Haresh Chhelana ответил: 28 апреля 2018 в 10:56
Как вы удаляете / sbin / init из сценария инициализации?
Jonas Laursen ответил: 28 апреля 2018 в 10:58
Сценарий из проекта github.com/mrschyte/dockerpot, под сценариями. На проводнике его помещается в /usr/bin/honeypot. Сценарий имеет строку 17, где он запускает контейнер докера, последняя часть которого содержит sbin/init.