SSH sans mots de passe
Comment mettre en place une connexion SSH sans mot de passe entre un client Debian et un serveur Debian.
Connexion SSH sans mot de passe entre 2 machines Debian
La connexion SSH sans mot de passe, également appelée authentification par clé publique, est une méthode sécurisée et pratique pour se connecter à distance à un serveur.
- la clé privée reste uniquement sur le client
- la clé publique est copiée sur tous les serveurs sur lesquels on souhaite se connecter sans mot de passe
Voici les étapes à suivre pour mettre en place une connexion SSH sans mot de passe entre un client Debian et un serveur Debian.
1) Générer les clés SSH sur le client
Nous allons générer une paire de clés SSH sur le client : une clé privée et une clé publique.
Sur la machine cliente, ouvrez un terminal et exécutez la commande suivante :
ssh-keygen -t rsa -b 4096
Cette commande génère une paire de clés RSA de 4096 bits.
- Appuyez sur Entrée pour accepter l'emplacement par défaut (
~/.ssh/id_rsa
) - et laissez la passphrase vide pour une connexion sans mot de passe.
2) Copier la clé publique sur le serveur
Utilisez la commande ssh-copy-id
pour copier votre clé publique sur le serveur :
ssh-copy-id utilisateur@adresse_ip_serveur
Remplacez :
utilisateur
par votre nom d'utilisateur sur le serveur- et
adresse_ip_serveur
par l'adresse IP ou le nom d'hôte du serveur.
3) Vérifier les permissions sur le serveur
Connectez-vous au serveur et vérifiez les permissions du fichier authorized_keys
:
ssh utilisateur@adresse_ip_serveur
ls -l ~/.ssh/authorized_keys
Les permissions doivent être 600 -rw-------
.
Si ce n'est pas le cas, corrigez-les :
chmod 600 ~/.ssh/authorized_keys
4) Configurer SSH sur le serveur
Éditez le fichier de configuration SSH sur le serveur :
sudo nano /etc/ssh/sshd_config
Assurez-vous que les lignes suivantes sont présentes et non commentées :
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
5) Redémarrer le service SSH
Après avoir modifié la configuration, redémarrez le service SSH :
sudo systemctl restart sshd
ou
sudo service sshd restart
6) Tester la connexion
Depuis le client, testez la connexion SSH sans mot de passe :
ssh utilisateur@adresse_ip_serveur
Vous devriez maintenant pouvoir vous connecter sans entrer de mot de passe.
Sécurité supplémentaire
Pour renforcer la sécurité, vous pouvez désactiver l'authentification par mot de passe sur le serveur.
Ne désactivez l'authentification par mot de passe uniquement si la connexion SSH sans mot de passe fonctionne.
Pour désactiver l'authentification par mot de passe, il suffit d'éditer le fichier /etc/ssh/sshd_config
et modifier la ligne suivante :
PasswordAuthentication no
N'oubliez pas de redémarrer le service SSH après cette modification.
En suivant ces étapes, vous aurez mis en place une connexion SSH sécurisée sans mot de passe entre votre client Debian et votre serveur Debian, améliorant ainsi la sécurité et la commodité de vos connexions à distance.