GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer des clés SSH

À propos des clés SSH

Les clés SSH offrent un moyen plus sûr de se connecter à un serveur privé virtuel avec SSH que d'utiliser un mot de passe seul. Alors qu'un mot de passe peut éventuellement être déchiffré par une attaque par force brute, les clés SSH sont presque impossibles à déchiffrer par la force brute seule. La génération d'une paire de clés vous fournit deux longues chaînes de caractères :une clé publique et une clé privée. Vous pouvez placer la clé publique sur n'importe quel serveur, puis la déverrouiller en vous y connectant avec un client qui possède déjà la clé privée. Lorsque les deux correspondent, le système se déverrouille sans avoir besoin d'un mot de passe. Vous pouvez encore augmenter la sécurité en protégeant la clé privée avec une phrase de passe.

Ce guide a été principalement écrit par les gens de DigitalOcean. Découvrez leurs excellentes options de serveur à des prix compétitifs sur digitalocean.com

Première étape :créer la paire de clés RSA

La première étape consiste à créer la paire de clés sur la machine cliente (il y a de fortes chances que ce ne soit que votre ordinateur) :

ssh-keygen -t rsa

Étape 2 :Stockez les clés et la phrase de passe

Une fois que vous avez entré la commande Gen Key, vous aurez quelques questions supplémentaires :

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

Vous pouvez appuyer sur Entrée ici, en enregistrant le fichier dans l'accueil de l'utilisateur (dans ce cas, mon exemple d'utilisateur s'appelle demo).

Enter passphrase (empty for no passphrase):

C'est à vous de décider si vous souhaitez utiliser une phrase de passe. La saisie d'une phrase de passe a ses avantages :la sécurité d'une clé, aussi cryptée soit-elle, dépend toujours du fait qu'elle n'est visible par personne d'autre. Si une clé privée protégée par une phrase secrète tombe en possession d'un utilisateur non autorisé, il ne pourra pas se connecter à ses comptes associés tant qu'il n'aura pas trouvé la phrase secrète, ce qui fera gagner du temps à l'utilisateur piraté. Le seul inconvénient, bien sûr, d'avoir une phrase de passe, c'est de devoir la saisir à chaque fois que vous utilisez la paire de clés.

L'ensemble du processus de génération de clé ressemble à ceci :

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

La clé publique se trouve maintenant dans /home/demo/.ssh/id_rsa.pub La clé privée (identification) se trouve maintenant dans /home/demo/.ssh/id_rsa

Étape 3 :Copiez la clé publique

Une fois la paire de clés générée, il est temps de placer la clé publique sur le serveur virtuel que nous voulons utiliser.

Vous pouvez copier la clé publique dans le fichier authorized_keys de la nouvelle machine avec la commande ssh-copy-id. Assurez-vous de remplacer l'exemple de nom d'utilisateur et d'adresse IP ci-dessous.

ssh-copy-id [email protected]

Alternativement, vous pouvez coller les clés en utilisant SSH :

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Quelle que soit la commande que vous avez choisie, vous devriez voir quelque chose comme :

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Maintenant, vous pouvez continuer et vous connecter à [email protected] et vous ne serez pas invité à entrer un mot de passe. Cependant, si vous définissez une phrase secrète, il vous sera demandé de saisir la phrase secrète à ce moment-là (et chaque fois que vous vous connecterez par la suite).

Étape 4 facultative :désactivez le mot de passe pour la connexion racine

Une fois que vous avez copié vos clés SSH sur votre serveur et vous êtes assuré que vous pouvez vous connecter uniquement avec les clés SSH , vous pouvez continuer et restreindre la connexion root pour qu'elle ne soit autorisée que via des clés SSH.

Pour ce faire, ouvrez le fichier de configuration SSH :

sudo nano /etc/ssh/sshd_config

Dans ce fichier, recherchez la ligne qui inclut PermitRootLogin et modifiez-le pour vous assurer que les utilisateurs ne peuvent se connecter qu'avec leur clé SSH :

PermitRootLogin without-password

Appliquez les modifications :

service openssh-server restart

Linux
  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 sur Ubuntu 16.04

  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 la clé publique et privée SSH sous Linux

Comment configurer une clé SSH sur un serveur Plesk

Comment configurer des clés SSH sur Debian 11 Linux