Maison > Article > Opération et maintenance > Comment implémenter une connexion SSH plus sécurisée sur le serveur CentOS à l'aide de l'authentification par clé
Comment utiliser l'authentification par clé pour obtenir une connexion SSH plus sécurisée sur le serveur CentOS
Dans la gestion du serveur, assurer la sécurité du système est crucial. SSH (Secure Shell) est un protocole réseau crypté utilisé pour la connexion à distance aux serveurs Linux et UNIX. Pour renforcer encore la sécurité du serveur, nous pouvons utiliser l'authentification par clé au lieu de la connexion par mot de passe. Cet article explique comment implémenter une connexion SSH plus sécurisée sur un serveur CentOS et fournit des exemples de code correspondants.
Étape 1 : Générer une paire de clés
Tout d'abord, générez une paire de clés sur votre ordinateur local. Ouvrez une fenêtre de terminal et entrez la commande suivante :
ssh-keygen -t rsa
Cette commande générera une paire de clés en utilisant l'algorithme RSA. Appuyez sur Entrée pour confirmer le chemin d'enregistrement de la clé et le nom du fichier. Il vous sera ensuite demandé de saisir le mot de passe de votre clé. Vous pouvez choisir de définir un mot de passe ou de le laisser vide et d'appuyer sur Entrée pour continuer à générer la clé.
Après une génération réussie, vous trouverez deux fichiers sous le chemin spécifié : id_rsa (clé privée) et id_rsa.pub (clé publique).
Étape 2 : Copiez la clé publique sur le serveur
Ensuite, copiez la clé publique sur le serveur CentOS. Copiez la clé publique sur le serveur à l'aide de la commande suivante :
ssh-copy-id user@server_ip_address
Remplacez "user" par votre nom d'utilisateur sur le serveur CentOS et "server_ip_address" par l'adresse IP du serveur. Il vous sera demandé de saisir votre mot de passe pour vous authentifier.
Après avoir copié avec succès la clé publique, vous obtiendrez le résultat suivant :
Number of key(s) added: 1
Étape 3 : Configurer le service SSH
Sur le serveur, ouvrez le fichier de configuration SSH pour le configurer. Ouvrez le fichier avec la commande suivante :
sudo vi /etc/ssh/sshd_config
Recherchez et assurez-vous que la ligne suivante n'est pas commentée et définissez la valeur comme suit :
PubkeyAuthentication yes PasswordAuthentication no PermitRootLogin no
La décommentation autorise l'authentification par clé publique, désactive l'authentification par mot de passe et interdit la connexion root directe. Après avoir apporté des modifications, enregistrez et fermez le fichier.
Ensuite, redémarrez le service SSH pour appliquer les modifications :
sudo systemctl restart sshd
Étape 4 : Testez la connexion SSH
Vous avez maintenant terminé la configuration. Vous pouvez tester si votre connexion SSH réussit à l'aide de la commande suivante :
ssh user@server_ip_address
Remplacez "user" par votre nom d'utilisateur et "server_ip_address" par l'adresse IP de votre serveur. Le système tentera de s'authentifier à l'aide de votre clé privée.
Si tout est correctement configuré, vous vous connecterez avec succès à votre serveur CentOS sans saisir de mot de passe.
Astuce bonus :
Résumé :
L'utilisation de l'authentification par clé peut considérablement améliorer la sécurité du serveur et empêcher les connexions malveillantes et le craquage par force brute des mots de passe. Cet article décrit comment implémenter une connexion SSH plus sécurisée sur un serveur CentOS et fournit des exemples de code correspondants. En suivant ces étapes, vous pouvez facilement configurer l'authentification par clé pour votre serveur et assurer la sécurité de votre système.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!