Size: a a a

Spring Framework and more

2017 August 03

u

umka.me in Spring Framework and more
2. В ssh-плагине дженкинса добавляете новый сервер и добаляете пользователя и закрытый ключ к нему
источник

AT

Alexander Thesecret in Spring Framework and more
guga
Ага
Отлично. Второй вопрос: куда именно класть публичный ключ на server2? К ключам того пользователя, под которым я буду вытаться войти (в моем случае server2_deploy_user)
источник

u

umka.me in Spring Framework and more
3. настраиваете деплой на этот сервер и папку для копирования артефакта
источник

DZ

Dmitry Zakharov in Spring Framework and more
Ребят а по джава ещё есть группы в телеге?
источник

g

guga in Spring Framework and more
Alexander Thesecret
Отлично. Второй вопрос: куда именно класть публичный ключ на server2? К ключам того пользователя, под которым я буду вытаться войти (в моем случае server2_deploy_user)
У тебя нету какого-то плагина для хранения ключей?
источник

AT

Alexander Thesecret in Spring Framework and more
Плагина на server2? Там сырая Ubuntu с nginx
источник

E

Etki in Spring Framework and more
Alexander Thesecret
Отлично. Второй вопрос: куда именно класть публичный ключ на server2? К ключам того пользователя, под которым я буду вытаться войти (в моем случае server2_deploy_user)
${USER_HOME}/.ssh/authorized_keys
источник

DZ

Dmitry Zakharov in Spring Framework and more
Спасибо ребза
источник

AT

Alexander Thesecret in Spring Framework and more
Вот что я сделал ранее:
1. На server2 создал пользователя server2_deploy_user, у которого есть права на запись в нужную мне папаку и открыт доступ ко входу по ssh
2. Вошел под ним и сгенерировал ключи
3. Текст приватного ключа скопировал и добавал в панеле управления Jenkins в настройках Credentials (указал имя пользователя и текст приватного ключа), получил Credentials ID (xxxx-yyyy-zzzz-tttt)
4. В Jenkinsfile после сборки обратился к плагину sshagent, указав ему полученный ранее Credentials ID
После успешной сборки при попытке скопировать артефакт на server2 я получил такую ошибку: Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(605) [sender=3.0.9]
источник

E

Etki in Spring Framework and more
во-первых добавь публичный ключ в /home/server2_deploy_user/.ssh/authorized_keys отдельной строчкой
источник

E

Etki in Spring Framework and more
если такого файла нет - создай и отбери права на чтение и изменение у всех, кроме владельца
источник

E

Etki in Spring Framework and more
во-вторых скопируй приватных ключ физически на хост дженкинса и зайди от пользователя дженкинса на сервер2, пользуясь этим ключом (ssh -i /path/to/key server2_deploy_user@server2)
источник

E

Etki in Spring Framework and more
в процессе он потребует от тебя подтвердить ключ ssh-демона, без чего в автоматическом режиме ты не сможешь подключиться
источник

E

Etki in Spring Framework and more
точнее сможешь, но с игнором ключей, а это плохая идея
источник

E

Etki in Spring Framework and more
в идеале ты еще и при первом коннекте должен ключ проверить, но шансы, что у тебя mitm, маловаты.
источник

AT

Alexander Thesecret in Spring Framework and more
Оказалось, что публичный ключ уже есть в файле authorized_keys
источник

AT

Alexander Thesecret in Spring Framework and more
Войти под пользователем jenkins почему-то не могу, su jenkins ничего не меняет
источник

AT

Alexander Thesecret in Spring Framework and more
whoami -> root
источник

E

Etki in Spring Framework and more
потому что у него шелла/разрешения на логин видимо нет
источник

E

Etki in Spring Framework and more
su jenkins -c 'ssh ...'
источник