cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu
đŸ˜€ Ce billet a Ă©tĂ© Ă©ditĂ© le : 2024-01-12

Le protocole ssh s’appuie sur une paire de clĂ©, pour l’utiliser ce protocole vous avez besoin d’une paire de clĂ© ssh bien Ă  vous.

ATTENTION Les paires de clĂ©s publique-privĂ©e RSA ne sont plus considĂ©rĂ©es comme sĂ»re, voir le billet 🔑 Comment crĂ©er une paire de clĂ©s pour ssh en 2023.


ඏ

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 stoker 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

  • Documentation Red Hat sur le [Protocole SSH](http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-fr-4/ch-ssh.html - lien mort)

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog