Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Connexion sans mot de passe SSH : comment l'installer et la désactiver sous Linux ?

SSH-Passwordless-Login-How-to-Setup-and-Disable-in-Linux
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Un bon administrateur de serveur utilise plusieurs mots de passe forts difficiles à mémoriser ; cependant, il est difficile et incommode d'entrer chacun d'entre eux chaque fois que vous accédez à des serveurs distants. Pour pallier ce problème, dans ce tutoriel, nous parlerons de sans mot de passe SSH et comment vous pouvez le configurer sous Linux !

What is Passwordless SSH?

SSH sans mot de passe vous permet d'exporter un client SSH clé publique au serveur distant afin que le client puisse se connecter sans avoir besoin d'un mot de passe. La façon d'y parvenir est d'utiliser une paire de clés asymétrique.

La procédure d'authentification fonctionne comme suit :

Lorsque le client tente d'accéder au serveur SSH, le serveur vérifie d'abord si la clé publique du client est autorisée. S'il est autorisé, le processus d'authentification se poursuit. S'il n'est pas autorisé, le processus se termine et vous ne pouvez pas accéder au serveur.

Si le serveur autorise la clé publique du client, le serveur crypte un message avec la clé publique du client. Une fois que le serveur a chiffré le message, il l'envoie au client.

Le client reçoit le message du serveur. Une fois le message reçu, le client essaie de déchiffrer ce message avec la clé privée. Si le client déchiffre le message à l'aide de la clé privée, le serveur le détectera et la connexion au serveur SSH sera établie. 

Si le client ne peut pas déchiffrer le message envoyé par le serveur, le processus de connexion au serveur est abandonné.

SSh
 Crédit image: Sébastien Saunier

Why use SSH Passwordless login

SSH sans mot de passe offre plusieurs avantages par rapport aux méthodes de connexion traditionnelles basées sur un mot de passe. Certains des avantages les plus importants qui rendent l'utilisation de SSH sans mot de passe intéressant sont :

Connexion pratique et sécurisée

Le fait que vous n'aurez pas à mémoriser et à saisir des mots de passe pour vous connecter à un serveur SSH rend le processus d'authentification pratique. De plus, il est basé sur la cryptographie à clé publique-privée, éliminant ainsi le risque de vol de mots de passe via -middle man-in le- qualité attaques de phishing.

Automatiser les tâches de sauvegarde

En utilisant Rsync et d'autres utilitaires, vous pouvez automatiser la tâche de faire une sauvegarde hebdomadaire du contenu généré dans un bureau aux États-Unis et de l'enregistrer dans un bureau situé en Chine. Le processus serait crypté via SSH et complètement automatique car vous n'aurez pas à entrer de mot de passe.

Monter un système de fichiers distant

SSH sans mot de passe est utile si vous devez monter un système de fichiers distant avec SSHFS. En accédant au serveur SSHFS sans mot de passe, nous pouvons faire en sorte que le serveur SSHFS se monte lui-même lorsque nous démarrons notre client.

De plus, plusieurs serveurs git utilisent l'authentification par clé publique SSH. Par conséquent, la paire de clés asymétriques que vous créez pour vous connecter à un serveur SSH peut avoir d'autres utilisations, telles que l'authentification lors de la connexion à notre serveur Git.

Setup SSH Passwordless Login in Linux

# 1. Assurez-vous que le serveur et le client SSH sont installés

La première chose que vous devez faire est de vous assurer que le système qui agira en tant que serveur dispose d'un serveur SSH installé. Pour ce faire, nous devons ouvrir un terminal et taper la commande suivante :

sudo apt-get install openssh-server

Si aucun nouveau package n'est installé dans notre système d'exploitation, l'ordinateur qui agira en tant que serveur a déjà le serveur SSH installé et en cours d'exécution. De même, assurez-vous que le système qui agira en tant que client dispose des packages nécessaires pour se connecter au serveur SSH. Pour cela, ouvrez un terminal et tapez la commande suivante :

sudo apt-get install openssh-client

De nos jours, la plupart des distributions Linux ont un client et un serveur SSH installés par défaut. 

# 2. Créer les paires de clés asymétriques

Une fois que vous êtes sûr que le serveur SSH et le client disposent des packages nécessaires, vous pouvez générer les clés asymétriques pour accéder à notre serveur SSH sans entrer de mot de passe.

Pour cela, sur l'ordinateur qui fera office de client, il faut ouvrir un terminal et taper la commande suivante :

ssh-keygen -b 4096 -t rsa

La signification de chacun des paramètres de la commande est la suivante :

ssh-keygen: c'est la commande qui génère la paire de clés.

-b 4096: vous indiquez que la clé asymétrique à générer a une taille de 4096 bits. Les autres tailles que vous pouvez choisir, par exemple, sont 1024 ou 2048.

-t rsa: Indique que l'algorithme utilisé pour générer la paire de clés doit être RSA. D'autres algorithmes que nous pouvons utiliser sont DSA, ECDSA, RSA1 et ED25519.

Juste après avoir exécuté la commande, il vous sera demandé l'emplacement où vous souhaitez enregistrer les clés et le nom que vous souhaitez leur donner. Appuyez simplement sur la touche Entrée. De cette façon, les clés qui seront enregistrées à l'emplacement standard, c'est-à-dire /home/ utilisateur /.ssh/ et aura le nom standard id_rsa.

Ensuite, il vous sera demandé si vous souhaitez entrer un mot de passe pour chiffrer la clé privée. Puisque nous voulons nous connecter au serveur sans entrer de mot de passe, appuyez sur la touche Entrée sans entrer de mot de passe.

Enfin, vous êtes invité à ressaisir le mot de passe. Puisque nous n'avons entré aucun mot de passe, appuyez à nouveau sur la touche Entrée.

keygen-png

Après avoir effectué ces étapes, les clés asymétriques seront créées à l'emplacement ~/.ssh. 

# 3. Copiez la clé publique SSH sur le serveur distant

Il existe deux types de Clés SSH pour organiser l'accès sans mot de passe via SSH : une clé publique non secrète (une clé publique) et une clé secrète (une clé privée), id_rsa  est votre clé privée, et  id_rsa.pub est votre clé publique.

Vous devez copier la clé publique sur le serveur distant, soit à l'aide de la commande ssh-copy-id, soit manuellement.

La syntaxe typique de la commande de copie de clé publique SSH est la suivante.

ssh-copy-id   username@remote.host.name

L'exemple suivant peut être plus clair :

ssh-copy-id   root@192.168.1.6
copier

Une autre option consiste à se connecter au serveur distant et à créer un fichier texte dans le répertoire ~/.ssh, par exemple, en exécutant la commande suivante.

nano ~/.ssh/authorized_keys

Copiez le contenu de votre fichier ~ / .ssh / id_rsa.pub sur votre ordinateur local dans ce fichier, enregistrez le fichier et quittez l'éditeur de texte.

syntaxe

# 4. Tester l'accès sans mot de passe via SSH

Pour tester si le SSH sans mot de passe essaie simplement d'accéder au serveur SSH :

$ ssh remote_username@server_ip_address

Si tout se passait bien, vous seriez connecté immédiatement sans mot de passe.

Disable SSH Passwordless Login in Linux

Pour désactiver la connexion SSH sans mot de passe, ouvrez le fichier de configuration SSH à l'aide de votre éditeur de texte préféré. Sur la plupart des distributions, le fichier de configuration se trouve dans /etc/ssh/sshd_config.

Localisez la ligne qui lit Autoriser les mots de passe vides Oui et changer PermitEmptyPasswords oui à PermitEmptyPasswords non.

Enregistrez les modifications apportées au fichier de configuration et quittez l'éditeur de texte.

Redémarrez SSH pour appliquer les modifications :

sudo systemctl restart sshd 

Mot de la fin

Les mots de passe, quelle que soit leur complexité, sont moins sécurisés, et lorsque vous avez de nombreux serveurs ou que vous devez vous connecter fréquemment, le processus devient inefficace. L'authentification ssh sans mot de passe à l'aide de clés asymétriques est non seulement plus pratique, mais également plus sûre et vous protège contre les attaques de phishing. 

Vous pouvez également explorer Cryptage symétrique.

Merci à nos commanditaires
Plus de bonnes lectures sur Linux
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder