Добавить удаленный узел в rundeck
Я хочу иметь возможность выполнять команды оболочки на удаленных узлах с помощью Rundeck, и я нашел это видео, в котором объясняется, как это сделать, но я не понимаю часть с закрытым ключом и как ее настроить. Я продолжаю получать следующую ошибку:
Ошибка аутентификации при подключении к узлу: "test-001". Убедитесь, что ваши определения ресурсов и учетные данные обновлены. Failed: AuthenticationFailure: Ошибка аутентификации при подключении к узлу: "test-001". Убедитесь, что ваши определения ресурсов и учетные данные обновлены.
У меня настроен удаленный сервер, и я настроил файл resource.xml следующим образом:
<node name="test-001" description="demo for test" tags="demo" hostname="10.10.10.10:22" osFamily="unix" osName="Linux" osVersion="2.6.32" username="demo" />
Нужно ли добавлять ssh-key
значение в XML-файл? Если да, нужно ли копировать открытый или закрытый ключи с сервера Rundeck на хост-сервер?
Кроме того, демо-имя пользователя также имеет пароль, так как я могу его определить?
1 ответ
Хост-сервер Rundeck подключается к узлу посредством аутентификации с помощью закрытого ключа, которая в точности аналогична аутентификации с помощью закрытого ключа SSH. Выполните следующие действия, чтобы добавить узел на рабочую площадку вашего сервера.
Откройте файл resources.xml и добавьте следующее.
<node name="rundeck node2" description="Rundeck node2" tags="node2" hostname="10.1.0.1" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.11.10-03111015-generic" username="leo" ssh-keypath="/var/lib/rundeck/node2.key"/>
Вы можете изменить имя пользователя SSH в узле и имя файла закрытого ключа. В дополнение к этому, вы можете изменить все другие параметры именования, такие как имя узла, теги и т. Д.
Теперь зайдите в ваш сервер узла.
- Создайте пользователя ssh, здесь его leo
- переключиться на пользователя leo. Создать ключ SSH
- SSH-серийник
- Добавьте открытый ключ к авторизованным ключам
leo@c1a5f48a6c4c:~/.ssh$ pwd /home/leo/.ssh leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa.pub >> authorized_keys leo@c1a5f48a6c4c:~/.ssh$ chmod g-w authorized_keys
- Скопируйте закрытый ключ
leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa
Сохраните закрытый ключ в файл "/var/lib/rundeck/node2.key" на хосте rundeck. Теперь аутентификация в порядке и готова выполнять команды adhoc с панели управления rundeck.
Документация достаточно повсюду, разные версии имеют разные ключевые слова, и нет никаких предупреждений в случае, если вы используете неправильное.
Соответствующая документация находится здесь:https://docs.rundeck.com/2.11.3/plugins-user-guide/ssh-plugins.html
Вам необходимо указать:
ssh-authentication: privateKey
...а также:
ssh-keypath: /path/directly/to/.ssh/id_rsa
(Предполагая, что вы используете хранилище ключей файловой системы.)
Удалите кодовую фразу из ключей с помощью:
ssh-keygen -p -m PEM -f /path/to/your/.ssh/id_rsa
... и не забудьте убедиться, что файл id_rsa принадлежит rundeck и имеет соответствующие ограниченные права.
В моем случае у меня был секретный пароль в моем личном ключе. Убедитесь, что ваш секретный пароль пуст.