« Importer une clé SSH » : différence entre les versions

De Adadov.net wiki
 
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov|encours=1|noindex=0|notocright=0}}
{{ArticleHead|Adadov|encours=0|noindex=0|notocright=0}}


== Ajouter sa clé à un utilisateur SSH ==
== Ajouter sa clé à un utilisateur SSH ==
Ligne 9 : Ligne 9 :
{{LxTerm|text=ssh-copy-id -f fichier_clé utilisateur@serveurdistant}}
{{LxTerm|text=ssh-copy-id -f fichier_clé utilisateur@serveurdistant}}
== Import par lots ==
== Import par lots ==
{{Critical|Le mot de passe pourrait se retrouver dans votre historique console !! '''Pensez à modifier l'historique'''|titre=Attention à la sécurité}}
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.<syntaxhighlight lang="bash">
awk -F',' '{system(sprintf("sshpass -p %s ssh-copy-id -f votre_fichier_clé %s", "#MOTDEPASSE#, $3))}' export_cpanel.csv
</syntaxhighlight>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<syntaxhighlight lang="bash">
awk -F'\t' '{system(sprintf("sshpass -p %s ssh-copy-id -f votre_fichier_clé %s", "#MOTDEPASSE#", $1))}' votre_fichier_utilisateurs.txt
</syntaxhighlight>
=== 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.<syntaxhighlight lang="bash">
awk -F'\t' '{system(sprintf("sshpass -p %s ssh-copy-id -f votre_fichier_clé %s", $2, $1))}' votre_fichier_utilisateurs.txt
</syntaxhighlight>

Dernière version du 18 juin 2024 à 13:42

Ecrit Par : Adadov

Ajouter sa clé à un utilisateur SSH[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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