Connexion SSH via certificat publique

Auteur : Vince Nadus
Date de publication : 27 septembre 2021
ssh linux accès distant

Connexion à un serveur SSH en utilisant un certificat (+ passphrase en options) plutôt qu’un mot de passe. Générer une clé SSH – côté client:

Se logger avec l’utilisateur depuis lequel on souhaite se connecter :

ssh-keygen -o -t rsa -b 4096 -C ‘utilisateur@nomdemachine’

Renseigner les informations utiles (Ex : passphrase pour ajouter un mot de passe en plus du certificat)

Sinon laisse les informations par default Copier la clé SSH vers le serveur – côté client :

ssh-copy-id -i /home/utilisateur/.ssh/id_rsa.pub " -p 22024 user@ip_machine"

Attention à l’espace entre » et -p

Si cela ne marche pas via l'outil voici la commande manuelle

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Pour mac ajouter ssh-copy-id

brew install ssh-copy-id

Attention à bien choisir l’utilisateur avec lequel vous initierai les connexions SSH

Si l’ajout via ssh-copy-id ne marche pas :

1 – Sur le client : Copier votre clé publique dans le fichier /home/utilisateur/.ssh/id_rsa.pub (Ex : nadus)

2 – Sur le serveur : Coller dans le fichier /home/utilisateur/.ssh/autorized_keys de l’utilisateur choisi (Ex : root) Exemple sous Windows avec Putty

https://www.it-connect.fr/chapitres/authentification-ssh-par-cles/