Connexion SSH sans mot de passe
Et bien voici un tout petit article, un petit mémo qui me dépanne très souvent ^^’
En effet, dans la mise en place de script automatisé de Backup, il m’est utile de faire des connexions SSH sans passer par le prompt de mot de passe, car dans le cas inverse l’automatisation est bloquée :/
J’ai donc souvent utilisé le principe de login sans SSH sans mot de passe, mais bien entendu, il faut veiller à correctement sécuriser son serveur en parallèle de cette utilisation de login SSH ^^
Dans tout les cas, voici comment procéder pour arriver à ce but.
Dans un premier temps il est question de générer une clef d’accès public, sur le serveur “cible”, celui qui en temps normal vous demande le mot de passe SSH.
Pour ce faire il faut bien ce connecter sur l’utilisateur qui procédera à cette automatisation, vous pouvez même en profiter pour cloisonner par ce biais là, mais penser bien au fait que cet utilisateur devra avoir les droits sur les fichiers “cible” pour arriver à vos fins.
La génération de la clef ce fait par cette commande :
# ssh-keygen -t rsa -b 1024
Il vous sera alors demander d’entrer quelques réglages comme la localisation du fichier, ou encore une passphrase, mais ceci est optionnel, pour ma part je valide toujours par un return
Ensuite il vous faudra transférer la clef sur le serveur “distant”, celui qui fera la demande de connexion SSH sur votre serveur “cible”.
Je passe par un simple transfert en scp :
# scp /home/VotreUtilisateur/.ssh/id_rsa.pub VotreUtilisateur@adresseipoureversedevotreserveurdistant:/home/VotreUtilisateur/.ssh/
Une fois la clef transférer il faudra vous connecter sur le serveur “distant” et enregistrer celle ci en hôte autorisée afin de ce connecter sans vérification de mot de passe.
On ce connecte donc par cette commande :
# ssh VotreUtilisateur@adresseipoureversedevotreserveurdistant
Variante pour les gens ayant modifié le port de connexion SSH dans le cadre d’une sécurisation du protocole
# ssh -p votreportssh VotreUtilisateur@adresseipoureversedevotreserveurdistant
Une fois sur le serveur dédié “distant” on procède à la mise en listing de la clef précédemment transférée.
Pour ce faire voici une commande toute en un qui vous appliquera la clef et la supprimera ensuite par sécurité :
# cd /home/VotreUtilisateur/; mkdir .ssh; cat /home/VotreUtilisateur/.ssh/id_rsa.pub >> /home/VotreUtilisateur/.ssh/authorized_keys; rm id_rsa.pub
Voilà donc, tout devrait être ok, il ne vous restera plus qu’à confirmer que tout est ok en procéder à un test du genre :
# ssh VotreUtilisateur@adresseipoureversedevotreserveurcible
ou
# ssh -p votreportssh VotreUtilisateur@adresseipoureversedevotreserveurcible
Petite astuce / mémo terminée, vous pourrez donc facilement automatisée vos scripts de backup si vous bloquiez à ce stade jusqu’à présent 😉