Il est idéal de pouvoir s'identifier sur un serveur distant, à l'aide d'une clé SSH, sans avoir à taper son mot de passe à chaque fois. Pas seulement pour un gain de temps mais pour, par exemple, transférer des données ou avoir un cron qui lance une sauvegarde planifiée automatiquement, sans que vous ayez à taper le mot de passe SSH.

Créer une clé SSH pour ouvrir une session distante sans mot de passe photo

Et puis, c'est un degré de sécurité supplémentaire puisque personne ne pourra deviner votre clé RSA, à moins d'avoir eu main mise sur votre machine.

Ce tutoriel est très rapide à mettre en œuvre, quelques minutes à peine suffisent pour créer votre clé et la placer sur le serveur distant.

Voici le principe de fonctionnement en image:

Créer une clé SSH pour ouvrir une session distante sans mot de passe photo 1

Concrètement, au lieu d'utiliser un nom d'utilisateur et un mot de passe en mode interactif (l'invite de commande vous demande d'entrer votre mot de passe), il suffit de donner le nom d'utilisateur et le serveur reconnaît votre machine grâce à votre clé SSH.

Créer un répertoire .ssh pour l'utilisateur

Normalement, votre utilisateur possède déjà un répertoire .ssh mais si ce n'est pas le cas, il faut le créer. Vous pouvez passer à l'étape suivante si vous disposez déjà de ce répertoire.

On se rend dans le répertoire de l'utilisateur:

cd ~/

On crée le répertoire .ssh:

mkdir .ssh

On s'assure que les permissions de fichiers permettent de lire, écrire et exécuter uniquement pour notre utilisateur:

chmod go-rwx .ssh

Créer une clé SSH

Nous allons maintenant créer une clé SSH, ou plutôt 2 clés : une clé privée et une clé publique. Les guillemets à la fin de la commande indiquent que la clé privée n'a pas de mot de passe, ce qui permet de s'identifier sans mot de passe.

A lire :  Serveur dédié : mise à jour vers PHP7.1 sous Debian

On se place dans le répertoire .ssh:

cd .ssh

Nous créons une clé de 4096 bits, sans mot de passe :

ssh-keygen -b 4096 -t ed25519 -f id_rsa -P ""

Nous obtenons deux fichiers :

  • id_rsa : notre clé privée
  • id_rsa.pub : notre clé publique

S'identifier sans mot de passe sur un serveur distant

Pour s'identifier sans mot de passe sur un serveur distant grâce à notre nouvelle clé SSH, il faut que le serveur distant la reconnaisse et donc qu'il en ait connaissance.

Attention: vous ne devez jamais donner votre clé privée à quiconque. La seule clé à transmettre est la clé publique.

Voici la commande magique qui vous permet d'installer votre clé publique directement sur le serveur distant :

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

Explications :

  1. on récupère le contenu de notre clé publique : cat ~/.ssh/id_rsa.pub
  2. on s'identifie avec notre utilisateur (USER) sur le serveur (SERVER) : ssh USER@SERVER
  3. et on crée le répertoire .ssh s'il n'existe pas avant d'ajouter notre clé publique au fichier /.ssh/authorized_keys : "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Au lancement de la commande, on vous demandera de donner votre mot de passe. Les sessions suivantes utiliseront votre clé SSH, sans mot de passe.

Ouvrez une session sur le serveur distant : il ne devrait plus vous demander de mot de passe mais utiliser votre fichier de clé SSH.

A vous les sauvegardes automatisées ou les rsync sauvages la nuit lorsque tout le monde dort !

Pour développer votre projet WordPress ou Woocommerce, faites appel à mon expertise pour réaliser un site rapide, performant et fonctionnel.

Je soumets mon projet

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.

Articles en rapport:

Créer une clé SSH pour ouvrir une session distante sans mot de passe

par Matt Lecture: 3 min
7

Pin It on Pinterest

Share This

Spelling error report

The following text will be sent to our editors: