Добавить удаленный узел в 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 в узле и имя файла закрытого ключа. В дополнение к этому, вы можете изменить все другие параметры именования, такие как имя узла, теги и т. Д.

Теперь зайдите в ваш сервер узла.

  1. Создайте пользователя ssh, здесь его leo
  2. переключиться на пользователя leo. Создать ключ SSH
  3. SSH-серийник
  4. Добавьте открытый ключ к авторизованным ключам
  5. leo@c1a5f48a6c4c:~/.ssh$ pwd /home/leo/.ssh leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa.pub >> authorized_keys leo@c1a5f48a6c4c:~/.ssh$ chmod g-w authorized_keys
  6. Скопируйте закрытый ключ
  7. 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 и имеет соответствующие ограниченные права.

В моем случае у меня был секретный пароль в моем личном ключе. Убедитесь, что ваш секретный пароль пуст.

Другие вопросы по тегам