Maison >Opération et maintenance >CentOS >Comment configurer SSH pour un accès à distance sécurisé à CentOS?

Comment configurer SSH pour un accès à distance sécurisé à CentOS?

Johnathan Smith
Johnathan Smithoriginal
2025-03-14 15:54:31263parcourir

Comment configurer SSH pour un accès à distance sécurisé à CentOS?

Pour configurer SSH pour un accès à distance sécurisé sur un serveur CentOS, suivez ces étapes:

  1. Mettez à jour votre système : commencez par vous assurer que votre système CentOS est à jour. Exécutez les commandes suivantes en tant qu'utilisateur racine:

     <code>sudo yum update sudo yum upgrade</code>
  2. Installer OpenSSH : Le package OpenSSH est généralement installé par défaut, mais si ce n'est pas le cas, vous pouvez l'installer en utilisant:

     <code>sudo yum install openssh-server openssh-clients</code>
  3. Démarrer et activer le service SSH : assurez-vous que le service SSH est en cours d'exécution et défini pour démarrer au démarrage:

     <code>sudo systemctl start sshd sudo systemctl enable sshd</code>
  4. Configurez SSH : modifiez le fichier de configuration SSH ( /etc/ssh/sshd_config ) pour personnaliser les paramètres. Ouvrez-le avec un éditeur de texte:

     <code>sudo nano /etc/ssh/sshd_config</code>

    Les paramètres clés à considérer comprennent:

    • Modifiez le port par défaut (par exemple, Port 2222 ).
    • Désactiver la connexion racine ( PermitRootLogin no ).
    • Accordez uniquement des utilisateurs ou des groupes spécifiques ( AllowUsers user1 user2 ou AllowGroups groupname ).
  5. Redémarrez le service SSH : après avoir apporté des modifications, redémarrez le service SSH pour les appliquer:

     <code>sudo systemctl restart sshd</code>
  6. Connexion de test : à partir d'une autre machine, testez la connexion SSH à l'aide des nouveaux paramètres:

     <code>ssh -p 2222 user@your_server_ip</code>

En suivant ces étapes, vous aurez configuré SSH pour un accès à distance sécurisé à votre serveur CentOS.

Quelles sont les meilleures pratiques pour sécuriser SSH sur un serveur CentOS?

Pour améliorer la sécurité de SSH sur un serveur CentOS, envisagez d'implémenter les meilleures pratiques suivantes:

  1. Utilisez des ports non standard : modifiez le port SSH par défaut de 22 à un port non standard (par exemple, 2222) pour réduire la probabilité d'attaques automatisées.
  2. Désactivez la connexion racine : empêchez la racine de se connecter directement via SSH en définissant PermitRootLogin no dans le fichier de configuration SSH. Cela oblige les utilisateurs à se connecter avec un compte non-racine, puis à utiliser sudo pour les tâches administratives.
  3. Utilisez les touches SSH au lieu des mots de passe : activez l'authentification basée sur les clés et désactivez l'authentification du mot de passe en définissant PasswordAuthentication no dans le fichier de configuration SSH. Cela réduit considérablement le risque d'attaques par force brute.
  4. Implémentez l'authentification à deux facteurs (2FA) : Ajoutez une couche de sécurité supplémentaire avec 2FA. Des outils comme Google Authenticator ou Duo Security peuvent être intégrés à SSH.
  5. Limitez l'accès des utilisateurs : utilisez AllowUsers ou AllowGroups dans la configuration SSH pour restreindre les utilisateurs qui peuvent accéder au serveur via SSH.
  6. Utilisez le protocole SSH 2 : assurez-vous que seul le protocole SSH 2 est autorisé en définissant Protocol 2 dans le fichier de configuration, car le protocole 1 a des vulnérabilités de sécurité connues.
  7. Mettez à jour et correctif régulièrement : gardez votre serveur SSH et le système CentOS mis à jour avec les derniers correctifs de sécurité pour protéger contre les vulnérabilités connues.
  8. Mettre en œuvre Fail2ban : cet outil peut aider à prévenir les attaques par force brute en surveillant les tentatives de connexion et en interdisant temporairement ou en permanence les adresses IP qui montrent un comportement malveillant.
  9. Utilisez un pare-feu : configurez votre pare-feu pour permettre les connexions SSH uniquement à partir d'adresses ou de réseaux IP de confiance.

En suivant ces meilleures pratiques, vous pouvez améliorer considérablement la sécurité de SSH sur votre serveur CentOS.

Puis-je limiter l'accès SSH à des utilisateurs spécifiques sur CentOS?

Oui, vous pouvez limiter l'accès SSH à des utilisateurs spécifiques sur CentOS en modifiant le fichier de configuration SSH. Voici comment le faire:

  1. Modifiez le fichier de configuration SSH : ouvrez le fichier de configuration SSH dans un éditeur de texte:

     <code>sudo nano /etc/ssh/sshd_config</code>
  2. Ajouter la directive AutorceSers : Ajoutez la directive AllowUsers suivie des noms d'utilisateur que vous souhaitez autoriser. Par exemple:

     <code>AllowUsers user1 user2 user3</code>

    Cela permettra uniquement user1 , user2 et user3 pour accéder au serveur via SSH.

  3. Ajouter la directive Autorcegroups : vous pouvez également autoriser l'accès en fonction de l'appartenance à groupe à l'aide de la directive AllowGroups . Tout d'abord, assurez-vous que les utilisateurs font partie du groupe spécifié, puis ajoutez:

     <code>AllowGroups ssh_users</code>

    Cela permettra à tous les utilisateurs du groupe ssh_users d'accéder au serveur via SSH.

  4. Redémarrez le service SSH : après avoir apporté des modifications, redémarrez le service SSH pour les appliquer:

     <code>sudo systemctl restart sshd</code>

En utilisant ces directives, vous pouvez limiter efficacement l'accès SSH à des utilisateurs ou des groupes spécifiques sur votre serveur CentOS.

Comment configurer l'authentification basée sur les clés pour SSH sur CentOS?

La configuration de l'authentification basée sur les clés pour SSH sur CENTOS implique la génération de clés SSH sur la machine client et la configuration du serveur pour accepter ces clés. Voici un guide étape par étape:

  1. Générez des clés SSH sur le client :

    • Ouvrez un terminal sur la machine client.
    • Exécutez la commande suivante pour générer une nouvelle paire de clés SSH:

       <code>ssh-keygen -t rsa -b 4096 -C "your_email@example.com"</code>
    • Appuyez sur Entrée pour enregistrer la touche dans l'emplacement par défaut ( ~/.ssh/id_rsa ).
  2. Copiez la clé publique sur le serveur :

    • Utilisez la commande ssh-copy-id pour copier la clé publique sur le serveur CentOS:

       <code>ssh-copy-id user@your_server_ip</code>
    • Si ssh-copy-id n'est pas disponible, copiez manuellement le contenu de ~/.ssh/id_rsa.pub et ajoutez-le au fichier ~/.ssh/authorized_keys sur le serveur.
  3. Configurer SSH sur le serveur :

    • Connectez-vous au serveur CentOS.
    • Ouvrez le fichier de configuration SSH:

       <code>sudo nano /etc/ssh/sshd_config</code>
    • Activez l'authentification basée sur les clés en s'assurant que les paramètres suivants sont en place:

       <code>PubkeyAuthentication yes PasswordAuthentication no</code>
    • S'il existe la ligne AuthorizedKeysFile , assurez-vous qu'il est prêt à:

       <code>AuthorizedKeysFile .ssh/authorized_keys</code>
  4. Redémarrer le service SSH :

    • Après avoir modifié le fichier de configuration, redémarrez le service SSH pour appliquer les modifications:

       <code>sudo systemctl restart sshd</code>
  5. Testez l'authentification basée sur les clés :

    • Dans la machine client, essayez de vous connecter au serveur à l'aide de la touche SSH:

       <code>ssh user@your_server_ip</code>
    • Si vous êtes configuré correctement, vous devriez être en mesure de vous connecter sans saisir de mot de passe.

En suivant ces étapes, vous pouvez configurer une authentification basée sur les clés pour SSH sur votre serveur CentOS, en améliorant sa sécurité en éliminant le besoin de connexions basées sur les mots de passe.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn