GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment configurer des clés SSH sur Ubuntu 16.04

Nous allons vous montrer comment configurer des clés SSH sur Ubuntu 16.04. SSH ou Secure SHELL est le protocole de réseau cryptographique basé sur UNIX le plus populaire et le plus fiable. Il peut être utilisé pour une communication de données sécurisée, des connexions à un serveur distant, l'exécution de commandes à distance et de nombreux autres services réseau sécurisés entre deux serveurs en réseau. Normalement, l'authentification par mot de passe est utilisée pour se connecter à un serveur distant via SSH, mais dans ce tutoriel, nous allons vous montrer comment vous connecter à votre VPS Ubuntu 16.04 à l'aide de clés SSH. Nous allons générer une paire de clés (clé privée et clé publique), placer la clé privée sur votre serveur, puis utiliser votre clé privée stockée localement pour accéder à votre serveur. Cette méthode offre un moyen plus sécurisé de se connecter à votre serveur, au lieu d'utiliser simplement un mot de passe.

Au cours de ce didacticiel, nous expliquerons également comment générer une paire de clés SSH à la fois sur Linux et sur un système d'exploitation Windows.

1. Génération de clés SSH sur Ubuntu 16.04

Pour générer la paire de clés SSH, exécutez simplement la commande suivante depuis le terminal sur votre ordinateur local basé sur Ubuntu 16.04 :

ssh-keygen

Vous pouvez simplement appuyer sur Entrée pour laisser les valeurs par défaut à toutes les questions. En option, vous pouvez également définir une phrase secrète pour ajouter une couche de sécurité supplémentaire, ou simplement appuyer à nouveau sur Entrée si vous ne le souhaitez pas.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:2QB/eJ39/4N7Q3PRSghNJmglX6hh2pSqQ3uGHhfd7Og root@rosehosting
The key's randomart image is:
+---[RSA 2048]----+
|       . .+o++   |
|       oB+o=.o   |
|       O+=+.o.. .|
|    . + +*o . .o.|
|   . + .So.  . .o|
|    * + . .   .oo|
|   . * .      o +|
|     .   E   . +.|
|             .o +|
+----[SHA256]-----+

Cela créera une clé privée et publique de 2048 bits (id_rsa et id_rsa.pub) dans le répertoire /root/.ssh/ sur votre système local.

Téléchargez la clé publique sur le serveur Ubuntu 16.04 avec ssh-copy-id

L'étape suivante nécessite que vous téléchargiez la clé publique générée sur votre serveur Ubuntu distant. Il existe plusieurs méthodes pour le faire.

Le moyen le plus simple est d'utiliser le ssh-copy-id utilitaire. Pour que cela fonctionne, vous devriez pouvoir vous connecter à votre serveur via SSH en utilisant l'authentification par mot de passe.

Vous pouvez ensuite utiliser la commande suivante pour télécharger la clé publique sur votre serveur distant :

ssh-copy-id root@remote_server

Il vous sera demandé d'entrer votre mot de passe utilisateur (dans notre exemple, ce serait le mot de passe root) et appuyez sur Entrée. Une fois la connexion établie, le contenu de id_rsa.pub (la clé publique) sera copié dans le fichier /root/ssh/authorized_keys sur le serveur distant.

La sortie suivante doit être affichée :

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'root@remote-host'"
and check to make sure that only the key(s) you wanted were added.

À partir de maintenant, vous devriez maintenant pouvoir vous authentifier sur votre serveur Ubuntu en utilisant vos clés SSH.

Téléchargez manuellement la clé publique sur le serveur Ubuntu

Si le ssh-copy-id n'est pas disponible sur votre système, vous pouvez vous connecter à votre serveur et le faire manuellement.

Tout d'abord, connectez-vous à votre serveur via SSH avec :

ssh root@remote_server

Une fois connecté, vous devrez créer un nouveau répertoire .ssh sur le serveur distant avec la commande suivante :

mkdir /root/.ssh

Ensuite, vous devez copier la clé publique dans le fichier authorized_keys sur le serveur distant. Vous pouvez créer puis ajouter le contenu de la clé publique à l'aide de l'éditeur de texte nano :

nano /root/.ssh/authorized_keys

Vous devrez également ouvrir le fichier de configuration SSH :

nano /etc/ssh/sshd_config

et assurez-vous que les lignes suivantes existent et ne sont pas commentées :

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Enregistrez les modifications et redémarrez le service SSH :

systemctl restart ssh

C'est ça. À partir de maintenant, vous utiliserez les clés SSH chaque fois que vous tenterez de vous connecter à votre serveur distant.

2. Génération de clés SSH sur un système basé sur Windows avec PuTTY et PuTTYGen

Si vous utilisez le système d'exploitation Windows sur votre ordinateur local, vous aurez besoin de PuTTY pour vous connecter à votre serveur via SSH et PuTTYgen pour générer vos clés SSH. Vous pouvez les télécharger ici (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).

Pour générer les clés SSH, lancez PuTTYGen sur votre ordinateur.

En bas, vous pouvez choisir le nombre de bits pour votre clé générée. Tapez 4096 puis cliquez sur Générer. Commencez à déplacer votre souris sur la zone vide de l'écran PuTTYgen afin de générer une clé unique basée sur le mouvement de votre souris.

Lorsque la barre de progression verte se remplit, la clé publique sera générée. Vous pouvez copier leur clé et l'enregistrer dans un fichier .txt sur votre ordinateur.

Pour enregistrer la clé privée, vous devrez cliquer sur le bouton Enregistrer la clé privée. De plus, vous pouvez également définir une phrase secrète de clé pour votre clé privée.

Vous pouvez maintenant ouvrir PuTTY et pour attribuer l'emplacement de votre clé privée, cliquez sur SSH dans le menu Connexion, puis cliquez sur Auth. Cliquez sur le bouton Parcourir et entrez l'emplacement de votre fichier de clé privée enregistré.

Ensuite, nous devons télécharger la clé publique sur votre serveur. Pour cela, cliquez sur Session, entrez votre adresse IP et le numéro de port SSH de votre serveur, sélectionnez SSH pour Type de connexion et cliquez sur Ouvrir.

Votre nom d'utilisateur et votre mot de passe vous seront demandés. Vous pouvez vous connecter en tant qu'utilisateur root, en utilisant votre mot de passe root.

Une fois connecté à votre serveur, créez d'abord le répertoire .ssh :

mkdir /root/.ssh

Créez ensuite le fichier authorized_keys dans le répertoire .ssh et ajoutez le contenu de votre clé publique dans ce fichier :

nano /root/.ssh/authorized_keys

Vous pouvez également ouvrir le fichier de configuration SSH sur votre serveur avec :

nano /etc/ssh/sshd_config

et assurez-vous que les lignes suivantes existent et ne sont pas commentées :

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Si des modifications ont été apportées, n'oubliez pas de redémarrer le service sshd avec :

systemctl restart ssh

Avec cela, les clés SSH ont été configurées avec succès. Vous pouvez maintenant vous déconnecter de votre serveur et quitter PuTTY. La prochaine fois que vous tenterez de vous connecter à votre serveur, PuTTY utilisera la clé publique que vous avez configurée pour établir la connexion.

3. Désactiver l'authentification par mot de passe

Une fois que vous avez configuré avec succès les clés SSH à l'aide de l'une des méthodes ci-dessus et que vous vous êtes assuré que vous pouvez vous connecter à votre serveur à l'aide de l'authentification par clé SSH, vous pouvez désactiver l'authentification par mot de passe sur votre serveur. Cela ajoutera une couche de sécurité supplémentaire et empêchera toutes les attaques par force brute contre votre serveur.

Pour désactiver l'authentification par mot de passe, ouvrez le fichier de configuration SSH avec :

nano /etc/ssh/sshd_config

Et décommentez la ligne suivante et définissez sa valeur sur "no":

PasswordAuthentication no

Redémarrez le service sshd avec :

systemctl restart ssh

That’s it. You have successfully set up SSH keys on your Ubuntu 16.04 VPS.

Bien sûr, vous n'avez pas besoin de configurer la clé SSH sur votre VPS Ubuntu 16.04, si vous utilisez l'un de nos services d'hébergement Ubuntu, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer les clés SSH pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons ci-dessous ou laissez simplement un commentaire dans la section des commentaires. Merci.


Panels
  1. Comment configurer les clés SSH à l'aide de cPanel

  2. Comment utiliser les clés SSH avec Plesk

  3. Comment configurer des clés SSH

  4. Comment configurer des clés SSH sur Ubuntu 18.04

  5. Comment configurer des clés SSH sur Debian

Comment configurer des clés SSH sur Debian 9

Comment configurer des clés SSH sur Debian 10

Comment configurer les clés SSH – Windows OS ?

Comment configurer une clé SSH sur un serveur Plesk

Comment configurer des clés SSH sur Debian 11 Linux

Comment améliorer la sécurité SSH sur Ubuntu 18.04