Comment configurer un accès SSH sans mot de passe sur Debian
- Mise à jour le 28 juil. 2025

Dans cet article, vous apprendrez à configurer un accès SSH sans mot de passe sur Debian à l’aide de paires de clés SSH.
Le SSH sans mot de passe n’est pas seulement pratique — il offre également des avantages importants en matière de sécurité et d’automatisation :
- Sécurité renforcée :
- L’authentification par clé SSH est plus sûre que les mots de passe traditionnels
- Résiste aux attaques par force brute et par dictionnaire
- Permet un accès distant sécurisé en tant que root
- Vous pouvez désactiver complètement l’authentification par mot de passe
- Efficacité et automatisation accrues :
- Connexions plus rapides — plus besoin de saisir de mot de passe
- Idéal pour les services et les tâches automatisées nécessitant un accès distant
- Contrôle d’accès centralisé via
~/.ssh/authorized_keys
Remarque : Cet article s’inspire de l’excellent tutoriel Tecmint.
Architecture de la connexion SSH
Pour cette démonstration, nous allons faire simple. L’objectif est de configurer un accès SSH sans mot de passe entre deux machines, permettant à l’utilisateur eric de se connecter à distance à l’hôte Marsh sans avoir à saisir de mot de passe.

Générer et transférer la clé SSH
Commencez par générer une paire de clés publique/privée sur la machine Cartman à l’aide de la commande ssh-keygen
. La clé privée reste sur la machine locale, tandis que la clé publique correspondante sera copiée sur l’hôte distant pour permettre une authentification sans mot de passe.
Optionnel : utilisez l’option -t ed25519
pour générer une clé moderne et sécurisée. Dans ce cas, vos fichiers de clés seront nommés id_ed25519
(clé privée) et id_ed25519.pub
(clé publique) au lieu des noms par défaut id_rsa
/id_rsa.pub
.
- Lors de la génération de la clé, vous serez invité à :
- Choisir l’emplacement du fichier pour la nouvelle clé. Vous pouvez appuyer sur Entrée pour accepter l’emplacement par défaut (généralement dans votre répertoire personnel).
- Définir une phrase de passe pour protéger la clé privée. Laissez-la vide si vous prévoyez d’utiliser le SSH sans mot de passe pour des scripts ou services automatisés. Utilisez une phrase de passe pour renforcer la sécurité dans les scénarios interactifs.
eric@Cartman:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/eric/.ssh/id_rsa): [Press enter key]
Created directory '/home/eric/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/eric/.ssh/id_rsa
Your public key has been saved in /home/eric/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Ib1cGOH36Qf2/372L3Z/fhavH1WFtggItRGAJSeMUJo eric@Cartman
The key's randomart image is:
+---[RSA 3072]----+
|.o.ooo=+*+ ..|
| o. o+ o.=. o .|
|E . * o. o ..|
| o = .... .|
| S = .|
| o o ..|
| . o.o|
| .o.X|
| ..X^|
+----[SHA256]-----+
- Une fois la paire de clés générée, vous devriez voir les fichiers de la clé privée et de la clé publique dans le répertoire
~/.ssh
:

- Ensuite, toujours depuis l’hôte Cartman, créez le répertoire
.ssh
sur l’hôte Marsh. Ce dossier accueillera la clé publique :
eric@Cartman:~$ ssh stan@192.168.1.20 'mkdir -p .ssh'
The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established.
ED25519 key fingerprint is SHA256:qpm3aOSO8AQv2CWcTh672clHGAb16CUxjUA2Cbzjqwg.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
stan@192.168.1.20's password: StanPassword
- Puis, copiez la clé publique depuis l’hôte Cartman dans le fichier
authorized_keys
de l’hôte Marsh :
eric@Cartman:~$ cat ~/.ssh/id_rsa.pub | ssh stan@192.168.1.20 'cat >> .ssh/authorized_keys'

- Ensuite, appliquez les permissions adéquates au fichier et à son dossier parent :
eric@Cartman:~$ ssh stan@192.168.1.20 "chmod 700 .ssh; chmod 600 .ssh/authorized_keys"
- Vous devriez maintenant pouvoir vous connecter à l’hôte Marsh en tant que stan en utilisant le SSH sans mot de passe :
eric@Cartman:~$ ssh stan@192.168.1.20
Dépannage des problèmes de connexion SSH
- Si la connexion sans mot de passe ne fonctionne pas, vous pouvez ajouter l’option
-vvv
à la commande SSH pour activer un mode verbeux. Cela vous aidera à diagnostiquer ce qui bloque l’authentification :
eric@Cartman:~$ ssh -vvv stan@192.168.1.20
- Vous pouvez également consulter l’état du service SSH sur l’hôte distant afin d’examiner les journaux et éventuelles erreurs :
root@Marsh:~# journalctl -u ssh