Я пытаюсь отладить Jenkins Plugin, который, кажется, терпит неудачу из-за проблемы разрешения SSH. В принципе, плагин позволяет мне SSH с мастер-машины на конкретную сборку Jenkins на подчиненном компьютере, но по какой-то причине она не работает в системе, в которой я пытаюсь ее использовать.SSH - Помогите понять прокси-команду
При запуске плагин говорит мне, что я могу использовать что-то вроде следующей команды, чтобы SSH в раб строить из главной машины:
ssh.config
Host=*.localhost
Port=43689
ProxyCommand=ssh -p 43689 localhost diagnose-tunnel -suffix .localhost %h
команда:
ssh -F ssh.config Test.localhost
Это работает на тестовой системе, я настроил (USI ng две машины), но сбой в производственной среде с ошибкой Разрешение отклонено (publickey).
Хотя я, конечно, готов самостоятельно отлаживать проблему разрешения, я действительно смущен тем, как эта команда ssh работает:/Что именно она пытается сделать? Я исследовал этот вопрос, но я все еще смущен тем, как это работает с прокси-командой.
Я предполагаю, что он подключается к определенному порту в локальном хосте (мастер-машина jenkins), но как это разрешит мне ssh в подчиненную машину? Можно ли переписать эту команду в одну строку для удобства чтения? Что может привести к ошибке отказа в разрешении?
Спасибо за помощь! Я полагаю, что это, вероятно, очень простой вопрос, но я новичок в SSH, и я до сих пор пытаюсь понять :)
Update
Выход ssh -vF test_ssh <job>.<host>
, в соответствии с просьбой! ^^ (с работой и хостом заменены тегами для удобства чтения)
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data test_ssh
debug1: Applying options for *.<host>
debug1: Executing proxy command: exec ssh -p 44078 <host> diagnose-tunnel -suffix .<host> <job>
debug1: permanently_drop_suid: 497
debug1: identity file /var/lib/jenkins/.ssh/identity type -1
debug1: identity file /var/lib/jenkins/.ssh/identity-cert type -1
debug1: identity file /var/lib/jenkins/.ssh/id_rsa type 1
debug1: identity file /var/lib/jenkins/.ssh/id_rsa-cert type -1
debug1: identity file /var/lib/jenkins/.ssh/id_dsa type -1
debug1: identity file /var/lib/jenkins/.ssh/id_dsa-cert type -1
debug1: identity file /var/lib/jenkins/.ssh/id_ecdsa type -1
debug1: identity file /var/lib/jenkins/.ssh/id_ecdsa-cert type -1
Permission denied (publickey).
ssh_exchange_identification: Connection closed by remote host
сделал вас зарегистрируйте свой открытый ключ ssh с помощью prod-сервера? – sotona
Благодарим за ответ! Я просто проверил ключи, и у меня есть открытый ключ от главной машины внутри файла authorized_keys подчиненного устройства. Я, кажется, могу без проблем работать с ssh в подчиненную машину, но это «ssh -p 43689 localhost», что дает мне проблемы с производственной настройкой с разрешенной ошибкой:/Я попытался добавить id_rsa.pub с главной машины в authorized_keys на том же компьютере, но он по-прежнему не работает ... –
«разрешение отказано» или «соединение отказано»? вы уверены, что кто-то слушает порт 43689? – sotona