Ce mémo a été publié le 13 novembre 2023 et peut contenir des informations qui peuvent être incomplètes, non mises à jour voir erronées du fait de son ancienneté. N'hésitez pas à compléter votre recherche sur des articles plus récents.
5/5 - (2 votes)

Mémo de configuration Rundeck d’un node avec SSH.

Testé sur Rundeck 4.14.2.

Génération de la clé SSH

Envoyer la clé sur le serveur à contrôler :
Vérifier la connexion au serveur :

Configuration Rundeck

Default node executor

Changer le node executor par défaut SSH par SSHJ-SSH.
Sinon, la clé risque de ne pas être acceptée.

Message d’erreur courant à cause de cette configuration par défaut de Rundeck :

  • Failed: SSHProtocolFailure: invalid privatekey: [B@25644582
  • Failed: Unknown: Exhausted available authentication methods
  • Failed: SSHProtocolFailure: Algorithm negotiation fail

A partir du projet, cliquer sur « Project settings » puis « Edit Configuration »

  1. Onglet « Default node executor »
  2. Dans la liste déroulante, sélectionner « SSHJ-SSH ».
  3. « SSH Authentication » : « privateKey »
  4. Enregistrer

Ajouter la clé SSH dans le key storage

A partir du projet, cliquer sur « Project settings » puis « Key storage »

  1. « Add or Upload a key »
  2. « Key type » : « Private Key »
  3. « Upload the file » et sélectionner la clé privée.
  4. « Save »

Noter le « Storage path » de la clé.
Ex : keys/project/projet-test/id_ed25519_test

Créer ou modifier un node

Sur le serveur Rundeck, créer le répertoire : /var/lib/rundeck/projects/mon_projet
L’utilisateur et le groupe doit être « rundeck ».

A partir du projet, cliquer sur « Project settings » puis « Edit nodes »

Onglet « Sources »

  1. « Add a new Node Source » puis « File »
  2. « Format » : « resourcexml »
  3. « File Path » : « /var/lib/rundeck/projects/mon_projet/resources.xml »
  4. Cocher « Generate », « Include Server Node » et « Writeable »
  5. « Save »

Vérifier sur le serveur que le fichier est créé.

Onglet « Edit »

Cliquer sur le bouton « Modify » du fichier de ressource.

Rajouter un serveur comme dans l’exemple pour « serveur-test » :

Le paramètre « ssh-key-storage-path » doit contenir le « Storage path » de la clé.

Reste à tester un job qui permet par exemple d’afficher le hostname sur serveur cible.