Comment configurer les touches SSH dans Linux

Comment configurer les touches SSH dans Linux

SSH ou Secure Shell est un protocole utilisé pour permettre la communication entre deux ordinateurs et partager des données. Il fournit une authentification sans mot de passe ou sans mot de passe (désactivé) et chiffre la communication entre deux hôtes. Lorsque vous travaillez avec des serveurs CentOS la plupart du temps est passé dans le terminal lié à votre serveur via SSH.

Dans ce guide, nous nous concentrerons sur la configuration de l'authentification basée sur les touches SSH pour un serveur CentOS 8. Les clés SSH offrent une technique simple et stable de communication avec les serveurs distants et sont encouragés pour tous les utilisateurs.

Création de touches SSH dans Linux

Pour générer une nouvelle paire de clés RSA 2048 bits, ouvrez le terminal et exécutez la commande divisée:

ssh-keygen  

Après avoir appuyé sur l'entrée, vous verrez la sortie suivante:

Si vous appuyez sur Entrée, par défaut, il enregistrera la paire de touches dans le .sous-répertoire SSH de votre dossier_home. Vous pouvez également fournir le chemin alternatif de l'endroit où vous souhaitez enregistrer la paire de clés, mais il est recommandé d'utiliser le répertoire par défaut pour enregistrer la paire de clés:

Si vous avez déjà créé une paire de clés sur votre machine client, vous serez invité à l'écraser. C'est à vous de choisir oui ou non, mais veillez à choisir l'option «y». Si vous choisissez l'option «Y», vous ne pourrez pas utiliser la paire de clés précédente pour vous connecter au serveur.

Maintenant, il vous sera demandé de fournir une phrase secrète pour ajouter une couche de sécurité supplémentaire qui empêche les utilisateurs non autorisés d'accéder au serveur. Appuyez simplement sur Entrée si vous ne voulez pas fournir de phrase secrète:

Après avoir fourni la phrase secrète, vous verrez la sortie suivante:

Vous avez maintenant généré avec succès une paire de clés SSH, pour vérifier cette commande exécutée ci-dessous:

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

La commande donnée ci-dessus sortira le chemin d'accès au fichier qui contient la paire de clés SSH. S'il publie une erreur comme «aucun fichier ou répertoire de ce type», cela signifie que la paire de clés n'a pas été créée avec succès et vous devrez répéter le processus.

Ajout de la clé SSH au système distant

Une fois que vous avez créé la paire de clés, vous devez ajouter la touche SSH au serveur CentOS. Le moyen le plus rapide consiste à utiliser la méthode SSH-Copy-ID. Dans certains cas, vous ne disposez peut-être pas de la méthode SSH-Copy-ID disponible sur votre machine locale. Dans ce cas, vous pouvez utiliser une autre méthode pour ajouter la touche SSH au serveur CentOS.

Ajout de la clé SSH via ssh-copy-id Commande

Votre machine locale aura très probablement la méthode SSH-Copy-ID par défaut. Cette méthode ne fonctionnera que au cas où vous avez un accès SSH basé sur un mot de passe au serveur:

SSH-Copy-ID [Protégé par e-mail] _host

Pour mon serveur, j'utiliserai:

SSH-Copy-ID [Protégé par e-mail]  

L'adresse IP est IP de votre système, tapez oui et appuyez sur Entrée, vous serez invité à entrer le mot de passe de l'utilisateur distant:

Une fois l'utilisateur terminé toutes les étapes, la clé publique sera copiée sur le serveur:

Ajout de la clé SSH sans SSH-Copy-ID

Dans le cas où votre machine locale n'a pas la méthode SSH-Copy-ID installée, ce qui est très peu probable, alors vous devrez exécuter cette commande pour ajouter les touches SSH au serveur.

Pour mon serveur local, j'utiliserai:

chat ~ /.ssh / id_rsa.pub | ssh [e-mail protégé] "Mkdir -p ~ /.ssh && chmod 700 ~ /.ssh && cat >> ~ /.ssh / autorisé_keys && chmod 600 ~ /.ssh / autorisé_keys "  

Comment se connecter au serveur à l'aide de touches SSH

Maintenant que vous avez réussi à ajouter la clé au serveur, vous devriez pouvoir vous connecter au serveur sans le mot de passe de l'utilisateur:

$ ssh [e-mail protégé] _ip_address

Pour mon serveur, j'utiliserai la commande suivante:

ssh [e-mail protégé]  

Si vous n'avez pas réglé la phrase secrète, vous pouvez vous connecter sans authentification. C'est le moyen le plus rapide de se connecter au serveur, sinon vous devez passer par l'étape d'authentification.

Étape 3 - Comment désactiver l'authentification du mot de passe SSH

Vous pouvez ajouter une couche de sécurité supplémentaire en désactivant l'authentification du mot de passe pour SSH. Avant le processus de début, assurez-vous que vous pouvez accéder à votre serveur sans le mot de passe en tant qu'utilisateur racine ou en tant qu'utilisateur non root avec les privilèges sudo.

Pour désactiver l'authentification du mot de passe SSH, la première connexion au serveur:

ssh [e-mail protégé]  

Nous allons maintenant ouvrir et modifier le fichier de configuration SSH situé sur / etc / ssh / sshd_config:

sudo nano / etc / ssh / sshd_config  

Après l'ouverture du fichier de configuration, apportez les modifications suivantes:

PasswordAuthentication Non 

Décommente les lignes ci-dessus si elles sont commentées en supprimant le signe # et en réglant leur valeur.

Après modification du fichier SSH, vous devez enregistrer et fermer le fichier en appuyant sur Ctrl + X et redémarrer le service SSH à l'aide de la commande suivante:

sudo systemctl redémarrer sshd  

En faisant toutes les étapes, l'authentification basée sur les mots de passe est désactivée avec succès.

Conclusion

SSH est un protocole réseau sécurisé utilisé pour la communication entre un serveur distant et un client; Il est plus sécurisé que FTP pour les transferts de fichiers entre un client et un serveur. Dans cet article, nous avons appris à générer des paires clés SSH et à configurer l'authentification basée sur SSH pour les serveurs basés sur CentOS 8, nous avons également appris à désactiver l'authentification du mot de passe SSH.