ssh

Comment configurer des clés SSH sur Ubuntu 20.04

Comment configurer des clés SSH sur Ubuntu 20.04
Ceci est 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 des utilisateurs qui s'y connectent ne compromettent pas sa sécurité. Il le fait en mettant le système d'authentification par mot de passe habituel de côté.

En un mot, SSH ou 'secure shell' 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 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 il stockera la paire de clés dans .ssh/ sous-répertoire. 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 c'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 :

$ ssh-copy-id username@server_host

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 | ssh remote_username@server_ip_address
"mkdir -p ~/.ssh && chat >> ~/.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 le ~/.ssh/authorized_keys à l'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é :

$ echo public_key_string >> ~/.ssh/authorized_keys

$ chmod -R go= ~/.ssh

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

$ chown -R younis: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 :

$ ssh username@remote_host

Vous serez invité à saisir la clé de phrase secrète que vous avez ajoutée à l'étape 2. Tapez-le 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 :

$ sudo gedit /etc/ssh/sshd_config

Avec le fichier ouvert maintenant, recherchez le répertoire 'PasswordAuthentication' et tapez 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 que ces modifications prennent effet, vous devez redémarrer le service sshd à l'aide de la commande suivante :

$ sudo systemctl redémarrer ssh

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.

Tutoriel OpenTTD
OpenTTD est l'un des jeux de simulation d'entreprise les plus populaires. Dans ce jeu, vous devez créer une merveilleuse entreprise de transport. Cepe...
SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...
Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...