Невозможно подключиться по ssh к моему экземпляру Jenkins Docker

Невозможно подключиться по ssh к моему экземпляру Jenkins Docker

Я пытаюсь использовать Jenkins Remote CLI для удаленной настройки моего сервера Jenkins. Я запускаю контейнер docker jenkinsci/blueocean.

Чтобы включить SSHD на моем сервере Jenkins:

1) Вhttp://localhost:8080/configureSecurity/: Включен порт SSHD -> Случайныйвведите описание изображения здесь

2) АТhttp://localhost:8080/user/baymac/configure: Добавил свой открытый ключ локальной машинывведите описание изображения здесь

После обнаружения порта ssh с помощью этой команды:

curl -D- -o/dev/nul -s http://localhost:8080 

Попытка подключиться по ssh с локальной машины:

ssh -l baymac -p 46653 localhost who-am-i

Сообщение об ошибке:

ssh: подключение к хосту localhost порт 46653: соединение отклонено

Попытка использовать клиент Jenkins CLI для подключения по ssh к серверу Jenkins с локальной машины:

java -jar jenkins-cli.jar -s http://localhost:8080 -i ~/.ssh/id_rsa -ssh -user baymac who-am-i

Я получаю сообщение об ошибке:

Введите пароль для /home/parichay/.ssh/id_rsa: 24 марта 2019 г., 6:38:56 org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver reloadHostConfigEntries ИНФОРМАЦИЯ: resolveEffectiveResolver(baymac@localhost:46653) загрузил 1 запись из /home/parichay/.ssh/config org.apache.sshd.common.RuntimeSshException: Не удалось получить сеанс. в org.apache.sshd.client.future.DefaultConnectFuture.getSession(DefaultConnectFuture.java:59) в hudson.cli.SSHCLI.sshConnection(SSHCLI.java:104) в hudson.cli.CLI._main(CLI.java:608) в hudson.cli.CLI.main(CLI.java:427) Причина: java.net.ConnectException: Соединение отклонено в sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(собственный метод) в sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) в sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) в sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) в sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) в java.lang.Thread.run(Thread.java:748)

Я ввожу правильный пароль, так как я пробовал подключиться по ssh к другому устройству, все работает.

Дополнительная информация:

Я запускаю докер с помощью следующей команды:

sudo docker run \ 
  --rm \ 
  -u root \ 
  -p 8080:8080 \ 
  -v jenkins-data:/var/jenkins_home \ 
  -v /var/run/docker.sock:/var/run/docker.sock \ 
  -v "$HOME":/home \ 
  --name jenkins \ 
  Jenkinsci/blueocean 

HTTP-аутентификация работает:

java -jar jenkins-cli.jar -s http://localhost:8080/ -auth baymac:<api_token> who-am-i

Сообщение:

Аутентифицировано как: baymac Авторитет: аутентифицировано

Внутри командной строки bash контейнера docker:

docker exec -ti jenkins bash

Команда 1:

bash-4.4# netstat -natp | grep sshd

Сообщение"

"НЕТ_ВЫХОДА"

Команда 2

bash-4.4# ps aux | grep sshd

Сообщение:

2280 корень 0:00 grep sshd

Я не могу это отладить, указатель на эту ошибку был бы очень полезен. Некоторые предложения указывают мне направление, в котором docker runкоманда должна перенаправить порт ssh. Я не могу понять, как это сделать, так как я выбрал внутри контейнера Jenkins запуск сервера SSH на случайном порту.

Связанный контент