Comment configurer des clés SSH sur Ubuntu 20.04

How Set Up Ssh Keys Ubuntu 20



Il s'agit d'une procédure pas à pas où vous apprendrez à configurer des clés SSH sur Ubuntu 20.04. Les clés SSH garantissent que la sécurité de vos serveurs et que le processus de connexion des utilisateurs ne compromet pas sa sécurité. Il le fait en mettant de côté le système d'authentification par mot de passe habituel.

En un mot, SSH ou « shell sécurisé » est un protocole crypté, avec lequel vous pouvez vous connecter à un serveur à distance et avoir accès aux informations qui lui sont associées. Il fournit un moyen beaucoup plus sûr de se connecter pour fournir un moyen sécurisé de se connecter sans compromettre la sécurité.







Étape 1 : créer la paire de clés

Nous allons commencer par créer une paire de clés sur le système du client d'abord avec un accès root par type dans ce qui suit :



$ssh-keygen



Cela déclenche le dernier ssh-keygen dans la création d'une paire de clés RSA de 3072 bits par défaut. Vous pouvez ajouter l'indicateur –b 4086 pour générer une clé plus grande. Appuyez sur Entrée et la paire de clés sera stockée dans le sous-répertoire .ssh/. Notez que si vous êtes un invité sur un serveur sur lequel une clé est déjà installée, l'invite vous demandera si vous souhaitez l'écraser ou non. Si tel est le cas, tapez « y » pour signaler un oui.





Ensuite, l'invite vous demandera si vous souhaitez ajouter une phrase secrète. Vous pouvez vous désinscrire, mais nous vous recommandons d'en ajouter un. Il renforce le protocole de sécurité en servant une couche de protection supplémentaire à contourner pour un utilisateur non autorisé.

Étape 2 : Copiez la clé publique sur votre serveur

Ensuite, nous devons transférer la clé publique sur votre serveur Ubuntu.



Vous pouvez utiliser l'utilitaire ssh-copy-id à l'aide de la commande suivante :

$nom d'utilisateur ssh-copy-id@serveur_hôte

Cela devrait faire l'affaire en quelques secondes seulement. Si la clé a été copiée avec succès, passez à la troisième étape.

Parfois, il arrive que la méthode ssh-copy-id échoue, ou ne soit tout simplement pas disponible. Dans ce cas, vous devrez le copier via SSH basé sur un mot de passe. Cela, vous pouvez le faire en utilisant la commande cat et assurez-vous d'ajouter le symbole >> pour ajouter au contenu au lieu de l'écraser.

$chat~/.ssh/id_rsa.pub| sshnom_utilisateur_distant@Adresse IP du serveur
'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Si c'est la première fois que vous vous connectez à un nouvel hôte, votre système vous montrera quelque chose comme :

Tapez simplement oui et appuyez sur le bouton Entrée. Entrez ensuite le mot de passe du compte d'accès utilisateur et la clé publique sera copiée sur votre serveur Ubuntu.

Si l'accès SSH basé sur un mot de passe vous est refusé pour une raison que vous ne pouvez pas identifier, vous pouvez toujours simplement copier la clé publique manuellement. Ajoutez ~/.ssh/authorized_keys au fichier id_rsa.pub sur votre machine distante. Ensuite, connectez-vous à votre compte de serveur distant et vérifiez si le répertoire ~SSH existe. Si ce n'est pas le cas, saisissez :

$mkdir -p~/.ssh

Il ne vous reste plus qu'à ajouter la clé :

$chassèrentchaîne_clé_publique>>~/.ssh/clés_autorisées

$chmod -R aller= ~/.ssh

Assurez-vous également que vous utilisez le ~SSH/ UTILISATEUR répertoire et NE PAS le répertoire racine :

$chown -Ryounis:younis ~/.ssh

Étape 3 : authentifier les clés SSH

L'étape suivante consiste à authentifier les clés SSH sur le serveur Ubuntu. Tout d'abord, connectez-vous à votre hôte distant :

$sshNom d'utilisateur@hôte_distant

Vous serez invité à entrer la clé de phrase secrète que vous avez ajoutée à l'étape 2. Tapez-la et continuez. L'authentification prendra un certain temps, et une fois terminée, vous serez redirigé vers un nouveau shell interactif sur votre serveur Ubuntu

Étape 4 : Désactiver l'authentification par mot de passe

Avec les clés SSH authentifiées, vous n'avez plus besoin du système d'authentification par mot de passe.

Si l'authentification par mot de passe est activée sur votre serveur, il sera toujours sujet à un accès utilisateur non autorisé via des attaques par force brute. Il vaudrait donc mieux que vous désactiviez toute authentification par mot de passe.

Tout d'abord, vérifiez si l'authentification basée sur la clé SSH est amorcée pour le racine compte sur ce serveur. Si c'est le cas, vous devez le remplacer par le compte d'accès utilisateur privilégié sudo sur ce serveur, afin que l'accès administrateur vous soit ouvert en cas d'urgence ou lorsque le système est confronté à des activités suspectes.

Après avoir accordé des privilèges d'administrateur à votre compte d'accès distant, connectez-vous au serveur distant avec des clés SSH avec des privilèges root ou sudo. Utilisez ensuite la commande suivante pour accéder au fichier de configuration du démon SSH :

$sudogedit/etc/ssh/sshd_config

Le fichier étant ouvert maintenant, recherchez le répertoire « PasswordAuthentication » et saisissez ce qui suit pour désactiver l'authentification par mot de passe et les connexions SSH basées sur un mot de passe.

$/etc/ssh/sshd_config
. . .
Mot de passeAuthentification non
. . .

Pour voir ces changements en vigueur, vous devrez redémarrer le service sshd à l'aide de la commande suivante :

$sudoredémarrage systemctlssh

Par précaution, ouvrez une nouvelle fenêtre de terminal et testez le bon fonctionnement du service SSH avant de fermer votre session en cours.

Avec vos clés SSH vérifiées, vous devriez pouvoir voir que tout fonctionne normalement. Vous pouvez quitter toutes les sessions de serveur en cours.

Conclusion

Maintenant que vous avez mis en place un système d'authentification basé sur une clé SSH, vous n'avez plus besoin du système d'authentification par mot de passe vulnérable, car vous pouvez simplement vous connecter sans mot de passe. J'espère que vous avez trouvé ce tutoriel utile.