GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer SSH sans mot de passe sous Linux

SSH, également connu sous le nom de "Secure Shell", est un protocole open source utilisé pour se connecter à un serveur Linux distant. Il est utilisé par les administrateurs système et réseau pour gérer les serveurs Linux à distance. Il est également utilisé pour transférer des fichiers entre plusieurs systèmes Linux. Il existe deux façons de se connecter à un système Linux distant :en utilisant l'authentification par mot de passe et l'authentification basée sur une clé. L'authentification basée sur les clés est plus sécurisée que les mots de passe, car seul un utilisateur disposant de clés valides peut se connecter à Linux.

Dans cet article, nous vous montrerons comment configurer SSH sans mot de passe sous Linux.

Prérequis

  • Un serveur Linux sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu, CentOS ou Rocky Linux comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Ou

dnf update -y

Étape 2 - Générer une clé SSH

Tout d'abord, vous devrez générer une paire de clés SSH sur la machine sur laquelle vous travaillez.

Vous pouvez le générer à l'aide de la commande suivante :

ssh-keygen -t rsa

Il vous sera demandé de spécifier l'emplacement de stockage de la clé comme indiqué ci-dessous :

Enter file in which to save the key (/home/vyom/.ssh/id_rsa): 

Appuyez simplement sur Entrée et acceptez le chemin par défaut. Il vous sera demandé de définir une phrase de passe comme indiqué ci-dessous :

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

Appuyez simplement sur Entrée sans fournir de phrase de passe. Vous devriez voir le résultat suivant :

Your identification has been saved in /home/vyom/.ssh/id_rsa.
Your public key has been saved in /home/vyom/.ssh/id_rsa.pub.
The key fingerprint is:
ec:50:43:d9:39:64:f8:19:63:18:ab:1c:e4:ea:f5:e7 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|      . oBo.     |
|     o .+oB      |
|      o +o =     |
|     o = .o      |
|    . = S        |
|   . . +         |
|    .   o .      |
|         o       |
|          E      |
+-----------------+

Maintenant, vérifiez votre clé SSH à l'aide de la commande suivante :

ls -la ~/.ssh/id_*.pub

Vous devriez voir le résultat suivant :

-rw-r--r-- 1 vyom vyom 392 Sep  8 14:34 /home/vyom/.ssh/id_rsa.pub

Étape 3 - Copier la clé publique SSH sur le serveur distant

Maintenant, vous devrez copier votre clé publique sur le serveur distant. Vous pouvez le faire en utilisant la commande ssh-copy-id :

ssh-copy-id [email protected]

Il vous sera demandé de fournir un mot de passe root d'un serveur distant pour copier une clé publique :

Mot de passe de
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Étape 4 - Connecter le serveur distant sans mot de passe

À ce stade, la clé SSH est générée et copiée sur le serveur distant. Vous pouvez maintenant vous connecter au serveur distant sans fournir de mot de passe :

ssh [email protected]

Une fois connecté, vous devriez voir le résultat suivant :

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Last login: Wed Sep  8 07:50:27 2021 from 106.222.86.57
[email protected]:~# 

Étape 5 - Supprimer l'authentification par mot de passe

À ce stade, l'authentification basée sur la clé SSH est configurée avec succès. Désormais, il est recommandé de désactiver l'utilisation de l'authentification par mot de passe afin que tout le monde n'utilise que des clés pour accéder au serveur.

Sur le serveur Linux distant, modifiez le fichier de configuration principal SSH :

nano /etc/ssh/sshd_config

Décommentez et modifiez la ligne suivante :

PasswordAuthentication no

Enregistrez et fermez le fichier, puis redémarrez le service SSH pour appliquer les modifications :

systemctl restart ssh

Conclusion

Dans le guide ci-dessus, vous avez appris à configurer l'authentification sans mot de passe SSH sous Linux. Vous pouvez désormais implémenter l'authentification basée sur une clé SSH pour chaque serveur que vous souhaitez gérer à distance. Essayez-le aujourd'hui sur l'hébergement VPS d'Atlantic.Net.


Linux
  1. Comment SSH sur Linux à partir d'Android

  2. Comment installer et configurer cPanel sur un serveur Linux

  3. Comment configurer un tunnel SSH inversé sous Linux

  4. Comment configurer une connexion SSH sans mot de passe sous Linux

  5. Comment SCP du serveur Linux au client Windows

Comment configurer le serveur de sauvegarde à l'aide de Rsnapshot sous Linux

Comment configurer un serveur multimédia en streaming à l'aide de Jellyfin sous Linux

Comment configurer l'authentification multifacteur pour SSH sous Linux

Comment gérer à distance un serveur Linux avec SSH

Comment se connecter en SSH à votre serveur Linux à partir de Windows

Comment SSH au serveur via Linux