Importer une clé SSH

De Adadov.net wiki
Révision datée du 18 juin 2024 à 13:42 par Adadov (discussion | contributions) (→‎Import par lots)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Ecrit Par : Adadov

Ajouter sa clé à un utilisateur SSH

Pour ajouter sa clé à un utilisateur distant dont on connaît le mot de passe, ll existe un utilitaire sous linux qui le fait automatique ssh-copy-id

Par défaut il importe les clés présentes dans votre agent SSH

[root@linux] # ssh-copy-id utilisateur@serveurdistantdblclick to copy

Vous pouvez égalemennt spécifier le fichier de clé à importer

[root@linux] # ssh-copy-id -f fichier_clé utilisateur@serveurdistantdblclick to copy

Import par lots

Pour l'import par lots il a fallut être un peu plus créatif ...

On va passer par une boucle bash et utiliser un autre utilitaire magique sshpass, il va permettre d'envoyer le mot de passe via l'entrée standard (depuis la ligne de commande).

Avec un mot de passe unique

Si vous êtes dans le cas, qu'il faudrait absolument éviter, d'un mot de passe unique pour tous les utilisateurs, il suffira d'un fichier contenant les noms d'utilisateurs, on peut utiliser directement l'export CSV des comptes depuis cPanel pour faire simple.

awk -F',' '{system(sprintf("sshpass -p %s ssh-copy-id -f votre_fichier_clé %s", "#MOTDEPASSE#, $3))}' export_cpanel.csv

Vous pouvez également utiliser un fichier de votre fabrication, le plus simple sera de mettre simplement 1 nom d'utilisateur par ligne, il suffit de modifier légèrement le script

awk -F'\t' '{system(sprintf("sshpass -p %s ssh-copy-id -f votre_fichier_clé %s", "#MOTDEPASSE#", $1))}' votre_fichier_utilisateurs.txt

Des mots de passe différents

Dans ce cas il faudra faire le fichier vous même avec le format suivant : "nom d'utilisateur<TAB>motdepasse". J'utilise la tabulation car il est très peu probable de la trouver dans les mots de passe.

awk -F'\t' '{system(sprintf("sshpass -p %s ssh-copy-id -f votre_fichier_clé %s", $2, $1))}' votre_fichier_utilisateurs.txt