во-первых, делаю вот уже два дня, но ничего не работает.
Я видел много руководств, но мне никто не подходит.
У меня установлен jenkins, в нем есть главный узел, и я хочу создать новый узел. (какой-то агент)
Я хочу установить соединение по ssh.
У меня уже есть пользователь jenkins на моем новом узле и сгенерирован ключ ssh. (где установлен jenkins, пользователя jenkins нет).
Но jenkins говорит мне, что «не могу найти known_hosts в / var / jenkins_home». Но этот файл существует. Я проверил, открыт ли порт 22 на моем новом узле, и да, я могу подключиться к нему с моего локального ПК.
Есть ли другой метод, но он должен быть с SSH, а не с agent.rar.
Что я должен проверить?
РЕДАКТИРОВАТЬ:
-rw-r--r-- 1 root root 0 Oct 24 17:36 /var/lib/jenkins/.ssh
sudo -u jenkins ssh jenkins@*IP* ls -la .ssh
The authenticity of host '*IP* (*IP*)' can't be established.
ECDSA key fingerprint is SHA256:*FINGERPRINT*.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/var/lib/jenkins/.ssh/known_hosts).
Permission denied (publickey).
Обычно у вас есть .ssh
права доступа к файлу каталога установлены как 700
и принадлежит пользователю, которому необходимо получить к нему доступ.
Как это с 644
он не будет доступен никому (кроме root), поэтому неудивительно, что он не может быть прочитан пользовательским процессом. Измените право собственности на jenkins, а perms на 700. Затем также правильно установите права собственности / разрешения для содержимого каталога.
Затем прочтите информацию о файлах Unix и правах собственности.
Ваш пользователь Jenkins .ssh
каталог не существует, вместо этого есть файл с таким же именем. Чтобы исправить это: удалите его, создайте каталог и установите владельца и разрешения.
rm ~jenkins/.ssh
install -d -o jenkins -m 0700 ~jenkins/.ssh
Это решит Failed to add the host to the list of known hosts
ошибка.
Затем скопируйте свой закрытый и открытый ключи SSH Jenkins в этот каталог и измените владельца на jenkins
, режим закрытого ключа для 0600
и для открытого ключа 0644
.
Проверьте еще раз, запустив sudo -u jenkins ssh jenkins@<nodehostname> ls -la .ssh
.
Если по-прежнему не удается, добавьте к своему вопросу сообщение об ошибке.