La création d’une jeu de clés SSH vous permet d’obtenir une clé publique et une clé privée. Vous pouvez placer la clé publique sur n’importe quel serveur, puis la déverrouiller. Il suffit de vous connecter au serveur avec un compte client sur lequel votre clé privée est déjà enregistrée. Si les clés SSH correspondent, vous serez automatiquement connecté, sans besoin d’un mot de passe.
Création d’une clé SSH sous Linux et Mac
Vos clés SSH doivent être stockées dans le répertoire « .ssh » vérifiez donc la présence de ce dossier dans votre répertoire $HOME. S'il n’existe pas, le créer :
# mkdir ~/.ssh
Utilisez la commande suivante pour créer une clé RSA de 4096 bits :
# ssh-keygen -b 4096
# ssh-keygen -t ed25519 -a 256
Deux fichiers seront créés avec la commande 'ssh-keygen' et, par défaut, seront nommés id_rsa
(c’est la clé privée) et id_rsa.pub
et placés dans un répertoire ~/.ssh/.
Notez qu'il vous sera demandé de définir (optionnel) une passphrase. Je vous recommande d'en mettre une. En effet, si vous exploitez une clé ssh pour différents serveurs web, vous aurez la possibilité d'y accéder sans aucun mot de passe. Si cette clé privée est dérobée par un tier, celui-ci aura les même accès que vous. Une passphrase, unique pour ces serveurs, pourrait donc venir vous sécuriser. C'est "Ceinture/Bretelle" ! Bien évidemment, la clé privée doit toujours être gardée en sécurité. Seules les personnes autorisées doivent y avoir accès.
Utilisez la commande « cat » du fichier de votre clé et copiez la sortie afin de lire et exporter votre clé publique :
# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8teh2NJ42qYZV98gTNhumO1b6rMYIkAfRVazl
k6dSS3xf2MXJ4YHsDacdjtJ+evXCFBy/IWgdkFtcvsGAMZ2N1RdvhDyQYcy6NDaJCBYw1K6Gv5fJ
SHCiFXvMF0MRRUSMneYlidxUJg9eDvdygny4xOdC6c1JrPrSgOc2nQuKeMpOoOWLINIswg1IIFVk
kFMPrFivP8Z6tidzVpAtbr1sXmJGZazYWrU3FoK2a1sF1zEWrmlMOzX81zEWrmlMOzX8CpZW8Rae
i4ANmLy7NULWK36yU0Rp9bFJ4o0/4PTkZiDCsK0QyHhAJXdLN7ZHpfJtHIPCnexmwIMLfIhCWhO5
user@hostname
Création d’une clé SSH Windows (via Putty)
Générer
pour lancer le processus de création.

# ssh-copy-id root@<dest_server>
Des options existent pusique par défaut cette commande utilisera le port 22 que vous pouvez spécifier via l'option « -p » tout comme l'emplacement, par défaut « ~/.ssh/id_rsa », du fichier via l'option « -i ».
Ajouter une clé SSH à votre serveur
Vérifions déjà qu'aucune clé n'est présente
# cd ~/.ssh
# ls
Comme pour la partie cliente sous Linux, accédez à votre répertoire $HOME et créez le dossier « .ssh » (s’il n’existe pas) :
# mkdir ~/.ssh
Pour stocker la clé de l’utilisateur actuel, ouvrez un fichier nommé « authorized_keys » avec votre éditeur de texte préféré :
# vi ~/.ssh/authorized_keys
Copiez et collez votre clé publique dans ce nouveau fichier. Enregistrez le fichier et quittez l’éditeur. Redémarrez le service OpenSSH (la commande appropriée peut varier en fonction de votre système d’exploitation mais voici un exemple) :
# systemctl restart sshd
Pour vérifier que votre clé a été correctement configurée, essayez d’accéder à votre serveur via SSH en utilisant la commande suivante. Remplacez « IP_ADDRESSorHOSTNAME » par l’adresse IP ou le nom d’hôte du serveur auquel vous essayez d’accéder :
# ssh user@IP_ADDRESSorHOSTNAME
Ajouter des clés supplémentaires à votre serveur
Pour créer une clé propre à des utilisateurs supplémentaires. Il suffit de répéter les étapes précédentes en utilisant le répertoire $HOME associé.
Supprimer des clés autorisées de votre serveur
Supprimez de votre fichier « authorized_keys » la clé qui correspond à l’utilisateur dont l’accès a été révoqué. Après avoir supprimé la clé, enregistrez le fichier et quittez l’éditeur de texte.