Afin de sécuriser l’accès à vos serveurs en SSH, il est possible de se connecter par le biais de certificats. Le principal avantage, en plus de renforcer la sécurité, est la non saisie du mot de passe, pour exécuter un script à distance automatiquement par exemple.
Le certificat du client(le votre) doit être généré depuis votre PC. Pour cela, ouvrez un terminal, puis tapez :
ssh-keygen -t rsa
Saisissez éventuellement les différents renseignements demandés.
Toujours sur le client, transféré la clé publique généré sur le serveur.
scp /home/kevin/.ssh/id_rsa.pub kguerineau@ip_server:/home/kevin/id-rsa-client.pub
Une fois le transfère effectué, sur le serveur, copier la clé transférée dans le fichier authorized_keys.
cat id-rsa-client.pub >> .ssh/authorized_keys
Je transfère toujours la clé publique dans un dossier autre que .ssh afin de ne pas écrasé le fichier contenant toutes les clés SSH autorisées.
Attention, le double chevron est très important ici. Il permet de placer le contenu du fichier id-rsa-client.pub à la fin du fichier authorized_keys. Si vous faites un simple chevron, vous remplacez tout le contenu.
Enfin, pour tester l’authentification automatique, déconnectez vous du serveur et reconnectez vous. La connexion est automatique et aucun mot de passe ne vous est demandé.