GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer des clés SSH sur CentOS 7

Secure Shell (SSH) est un protocole réseau cryptographique conçu pour une connexion sécurisée entre un client et un serveur.

Les deux mécanismes d'authentification SSH les plus populaires sont l'authentification basée sur un mot de passe et l'authentification basée sur une clé publique. L'utilisation de clés SSH est généralement plus sûre et plus pratique que l'authentification traditionnelle par mot de passe.

Ce tutoriel explique comment générer des clés SSH sur les systèmes CentOS 7. Nous vous montrerons également comment configurer une authentification basée sur une clé SSH et vous connecter à vos serveurs Linux distants sans saisir de mot de passe.

Création de clés SSH sur CentOS #

Avant de générer une nouvelle paire de clés SSH, il est conseillé de vérifier les clés SSH existantes sur votre ordinateur client CentOS.

Pour ce faire, exécutez la commande ls suivante qui liste toutes les clés publiques s'il y en a :

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

Si la sortie de la commande renvoie quelque chose comme No such file or directory ou no matches found cela signifie que vous n'avez pas de clés SSH sur votre ordinateur client, et vous pouvez passer à l'étape suivante et générer une paire de clés SSH.

S'il existe des clés, vous pouvez soit les utiliser et ignorer l'étape suivante, soit sauvegarder les anciennes clés et en générer de nouvelles.

Commencez par générer une nouvelle paire de clés SSH 4096 bits avec votre adresse e-mail en commentaire :

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Vous serez invité à spécifier le nom du fichier :

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

Appuyez sur Enter pour accepter l'emplacement et le nom de fichier par défaut.

Ensuite, il vous sera demandé de saisir une phrase de passe sécurisée. Que vous souhaitiez utiliser une phrase de passe, c'est à vous de décider. Si vous choisissez d'utiliser une phrase de passe, vous obtiendrez une couche de sécurité supplémentaire.

Enter passphrase (empty for no passphrase):

Si vous ne souhaitez pas utiliser de phrase de passe, appuyez simplement sur Enter .

L'ensemble de l'interaction ressemble à ceci :

Pour vérifier que votre nouvelle paire de clés SSH est générée, tapez :

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Copier la clé publique sur le serveur CentOS #

Maintenant que la paire de clés SSH est générée, l'étape suivante consiste à copier la clé publique sur le serveur que vous souhaitez gérer.

Le moyen le plus simple et le plus recommandé pour copier la clé publique sur le serveur distant consiste à utiliser un utilitaire appelé ssh-copy-id . Sur le terminal de votre ordinateur local, saisissez :

ssh-copy-id remote_username@server_ip_address

Vous serez invité à saisir le remote_username mot de passe :

remote_username@server_ip_address's password:

Tapez le mot de passe, et une fois l'utilisateur authentifié, la clé publique ~/.ssh/id_rsa.pub sera ajouté à l'utilisateur distant ~/.ssh/authorized_keys dossier. La connexion sera fermée.

Number of key(s) added: 1

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

Si le ssh-copy-id n'est pas disponible sur votre ordinateur local, utilisez la commande suivante pour copier la clé publique :

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Connectez-vous à votre serveur à l'aide des clés SSH #

Après avoir suivi les étapes ci-dessus, vous devriez pouvoir vous connecter au serveur distant sans être invité à entrer un mot de passe.

Pour le vérifier, essayez de vous connecter à votre serveur via SSH :

ssh remote_username@server_ip_address

Si vous n'avez pas défini de phrase secrète pour la clé privée, vous serez immédiatement connecté. Sinon, il vous sera demandé de saisir la phrase secrète.

Désactivation de l'authentification par mot de passe SSH #

Pour ajouter une couche de sécurité supplémentaire à votre serveur distant, vous pouvez désactiver l'authentification par mot de passe SSH.

Avant de continuer, assurez-vous que vous pouvez vous connecter à votre serveur sans mot de passe en tant qu'utilisateur avec des privilèges sudo.

Suivez les étapes ci-dessous pour désactiver l'authentification par mot de passe SSH :

  1. Connectez-vous à votre serveur distant :

    ssh sudo_user@server_ip_address
  2. Ouvrez le fichier de configuration SSH /etc/ssh/sshd_config avec votre éditeur de texte :

    sudo nano /etc/ssh/sshd_config
  3. Recherchez les directives suivantes et modifiez-les comme suit :

    /etc/ssh/sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. Une fois que vous avez terminé, enregistrez le fichier et redémarrez le service SSH en tapant :

    sudo systemctl restart ssh

À ce stade, l'authentification par mot de passe est désactivée.


Cent OS
  1. Comment configurer des clés SSH

  2. Configurer les clés SSH sur CentOS 7 - Processus étape par étape ?

  3. Comment configurer les clés SSH sur CentOS 8

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

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

Comment configurer des clés SSH sur Debian 10

Comment configurer les clés SSH – Windows OS ?

Comment générer une clé SSH dans CentOS 8

Comment configurer une clé SSH sur un serveur Plesk

Comment configurer SSH sur CentOS et RHEL

Comment configurer des clés SSH sur Debian 11 Linux