cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Le protocle ssh s'appuis sur des pais de clés, pour l'utiliser ce protocole vous avez besoin d'une clé ssh bien à vous.

Pour créer votre propre clé ssh au format rsa (ce qui est demandé par exemple pour un serveur git), vous devez simplement utiliser la commande suivante :

☆☆☆

ssh-keygen -t rsa

Une astuce cependant, pour vous aider à gérer et identifier vos clés, je vous conseille fortement l’utilisation du paramètre -C. Comme valeur vous pouvez mettre votre nom d’utilisateur et le nom de la machine où la clé a été générée (où la clé privée est hébergée).

Par ailleurs, histoire d’avoir une clé assez robuste, je vous encourage à ce qu’elle soit assez longue. Cela se configure l’aide du paramètre -b. Comme valeur, je préconise 4096.

Et du coup, cela donne :

★☆☆

ssh-keygen -t rsa -b 4096 -C "${USER}@${HOSTNAME}"

Par défaut, la clé privée est stockée dans ~/.ssh/id_rsa (ce fichier vous le garder précieusement là où il est et vous ne le communiquer à personne). La clé publique associée sera alors : ~/.ssh/id_rsa.pub.

Automatisation, clé ssh par défaut.

Si vous devez créer une clé ssh depuis un script vous devrez préciser d’autre paramètres, cela donnera quelque chose comme :

☆☆☆

ssh-keygen -t rsa -b 4096 -C "your comment" -f "${HOME}/.ssh/my_id_rsa" -N ''

Là encore, je vous encourage à utiliser le champ commentaire pour identifier vos clés, comme ceci :

★★★

ssh-keygen -t rsa -b 4096 -C "${USER}@${HOSTNAME}" -f "${HOME}/.ssh/id_rsa" -N ''

Pour stoquer votre clé, il est souvent raisonnable (voire préférable) d’utiliser le nom de fichier par défaut: ~/.ssh/id_rsa' (${HOME}/.ssh/id_rsa`).

Automatisation, création d’une clé personnalisée

Pour la configuration d’un service ou tout usage très spécifique, dans ce cas c’est une bonne idée d’utiliser le champ commentaire pour identifier le nom du service, l’utilisateur et/ou le fichier relatif à cette configuration.

Par exemple :

APP_USER='testuser' # User for the application
APP_NAME='gitlab'   # Name of the application

ssh-keygen -t rsa -b 4096 -C "${APP_USER}_${APP_NAME}@${HOSTNAME}" -f "${HOME}/.ssh/${APP_USER}_${APP_NAME}_id_rsa" -N ''

Utilisation de plusieurs clés ssh

Les systèmes Linux prennent en compte généralement la clé par défaut, mais ils ignorent les autres clés. Pour résoudre cela vous devez utiliser le code suivant :

eval $( ssh-agent -s ) # Seulement une fois par session.

ssh-add [file …] # Vous pouvez enregistrer plusieurs clés à la fois

Pour voir les clés connues par votre système vous pouvez utiliser la commande suivante :

ssh-add -l

Protection de vos clés

Your public key can be public, what matters is that your private key is private.

Votre dossier .ssh doit avoir les droits d’écriture que pour votre utilisateur. Une bonne pratique est de le rendre accessible qu’à vous en lecture et écriture.

chmod 700 ~/.ssh

Votre clé privée doit rester privée. Cette configuration est acceptable, mais pas nécessaire. Votre clé publique est accessible.

chmod 600 ~/.ssh/id_rsa     # chmod u=rw,go= ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub # chmod a=r,u+w ~/.ssh/id_rsa.pub

Votre clé privée doit rester privée, mais le fichier qui contient votre clé publique peut l’être aussi.

★★★

chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
# chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub

Le contenu de votre clé publique est un simple texte que vous pouvez copier/coller très facilement.

cat ~/.ssh/id_rsa.pub

Références

ᦿ


ℹ 2006 - 2021 | 🏠 Retour à l'accueil du domaine | 🏡 Retour à l'accueil du blog