id_rsa не отображается в конвейере Дженкинса, но доступен на сервере

#jenkins #ssh

Вопрос:

Я пытаюсь выполнить SSH с Дженкинса на удаленный сервер. Я добавил id_rsa.pub в authorized_keys удаленного сервера, чтобы сделать его паролем без SSH. Я могу выполнить SSH с сервера, на котором установлен Дженкинс с вашим паролем ssh user@REMOTE_IP .

Когда я делаю ls -lrta /root/.ssh/ это на сервере Дженкинса, я могу видеть id_rsa и id_rsa.pub , но если я выполняю ту же команду в конвейере Дженкинса, я не могу видеть эти файлы. Я могу только видеть authorized_keys .

Из-за этого, когда я запускаю конвейер, я получаю следующую ошибку

 debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
 

Ответ №1:

Как видно из вашего журнала, ключ ssh находится под /root, пользователь Дженкинса, вероятно, не имеет там доступа для чтения. (используйте «ls -ltr /root» для просмотра разрешения)

  1. Вы должны создать папку /home/jenkins/.ssh и предоставить там права пользователя jenkins.
  2. (не рекомендуется) Предоставьте Дженкинсу разрешения на доступ к файлу /root/.ssh. Это возможно с помощью «chmod r /root/.ssh/id_rsa».