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

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

James Robert Taylor
Libérer: 2025-03-11 17:33:18
original
684 Les gens l'ont consulté

Cet article détaille la configuration de l'accès à distance SSH sécurisé aux serveurs Linux. Il met l'accent sur les pratiques de sécurité clés, y compris la désactivation de l'authentification du mot de passe, en utilisant l'authentification des clés SSH, la restriction de la connexion racine et la configuration du pare-feu. Résoudre

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

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

La configuration de SSH pour un accès à distance sécurisé à votre serveur Linux implique plusieurs étapes, assurant une connexion robuste et protégée. Tout d'abord, vous devez vous assurer que SSH est installé. La plupart des distributions Linux l'incluent par défaut, mais sinon, utilisez le gestionnaire de packages de votre distribution (par exemple, apt-get install openssh-server sur Debian / Ubuntu, yum install openssh-server sur Centos / Rhel). Une fois installé, le démon SSH (SSHD) doit démarrer automatiquement. Vous pouvez le vérifier à l'aide de systemctl status sshd (SystemD) ou une commande similaire pour votre système INIT.

Ensuite, vous devez configurer le serveur SSH. Le fichier de configuration principal est généralement situé sur /etc/ssh/sshd_config . Ce fichier permet une personnalisation approfondie. Surtout, vous devriez considérer:

  • Transfert de port: tandis que le port SSH par défaut est de 22, le modifiant en un port non standard (par exemple, un nombre plus élevé) ajoute une couche de sécurité, ce qui rend plus difficile pour les scanners automatisés de trouver votre serveur. Pour modifier le port, modifiez la directive Port dans sshd_config . N'oubliez pas de redémarrer le service SSH après avoir apporté des modifications (généralement systemctl restart sshd ).
  • Désactiver l'authentification du mot de passe (recommandé): l'authentification du mot de passe est une vulnérabilité de sécurité significative. Au lieu de cela, utilisez l'authentification des clés SSH (détaillée ci-dessous). Pour désactiver l'authentification du mot de passe, définissez PasswordAuthentication no dans sshd_config .
  • Restreindre la connexion racine (recommandée): se connectant directement en tant que racine est très découragée. Au lieu de cela, créez un compte utilisateur régulier avec les privilèges sudo et connectez-vous en tant qu'utilisateur. Définissez PermitRootLogin no dans sshd_config pour appliquer cela.
  • Configuration du pare-feu: assurez-vous que votre pare-feu permet le trafic SSH via le port que vous avez configuré (par défaut 22 ou votre port personnalisé). Utilisez iptables ou firewalld (selon votre distribution) pour configurer cela. Par exemple, avec firewalld , vous pouvez utiliser firewall-cmd --permanent --add-port=22/tcp et firewall-cmd --reload .
  • SHIDING SHERVER: Il existe différentes options de sécurité dans le fichier sshd_config qui peuvent être ajustées pour une sécurité plus avancée. Les exemples incluent MaxAuthTries , LoginGraceTime , PermitTunnel et AllowUsers ou AllowGroups . Ces options nécessitent une attention particulière en fonction de vos besoins de sécurité spécifiques et doivent être recherchées en profondeur avant la mise en œuvre.

Quelles sont les meilleures pratiques de sécurité pour la configuration SSH sur un serveur Linux?

Au-delà de la configuration de base, plusieurs meilleures pratiques améliorent considérablement la sécurité SSH:

  • Utilisez l'authentification des clés SSH: Cela élimine le risque de fissuration du mot de passe. Générez une paire de clés SSH (clé publique et privée) sur votre machine client à l'aide de ssh-keygen . Ensuite, copiez la clé publique dans le fichier ~/.ssh/authorized_keys sur votre serveur (en utilisant ssh-copy-id ou manuellement).
  • Mettre à jour régulièrement le serveur SSH: Gardez votre logiciel SSH Server à jour pour patcher les vulnérabilités connues. Utilisez le gestionnaire de packages de votre distribution pour le mettre à jour régulièrement.
  • Gestion clé forte: protégez avec diligence votre clé privée. Ne le partagez pas et utilisez une phrase secrète forte pour la protéger. Envisagez d'utiliser une clé de sécurité matérielle pour une sécurité supplémentaire.
  • Surveillance du journal: examinez régulièrement vos journaux de serveurs SSH ( /var/log/auth.log ou un emplacement similaire en fonction de votre distribution) pour détecter les tentatives de connexion suspectes.
  • Fail2ban: Cet outil interdit automatiquement les adresses IP qui tentent trop de connexions échouées, atténuant les attaques brutales.
  • Audits de sécurité réguliers: examinez périodiquement votre configuration SSH et vos paramètres de sécurité pour identifier et traiter les faiblesses potentielles.

Comment puis-je résoudre les problèmes de connexion SSH courants sur Linux?

Le dépannage des problèmes de connexion SSH implique des vérifications systématiques:

  • Vérifiez que le serveur est en cours d'exécution: assurez-vous que le serveur SSH s'exécute et écoute sur le port configuré à l'aide de systemctl status sshd ou netstat -tulnp | grep ssh .
  • Vérifiez le pare-feu: assurez-vous que votre pare-feu autorise le trafic SSH sur le port correct.
  • Vérifiez la connectivité réseau: confirmez la connectivité réseau au serveur à l'aide ping et traceroute .
  • Vérifiez la configuration SSH: examinez votre fichier sshd_config pour tous les paramètres incorrects (en particulier le numéro de port et les méthodes d'authentification).
  • Vérifiez la configuration du client: assurez-vous que la configuration SSH de votre client est correcte (y compris le nom d'hôte ou l'adresse IP, le port et l'emplacement de la clé).
  • Vérifiez les journaux SSH: examinez les journaux du serveur SSH pour les messages d'erreur qui pourraient indiquer la cause du problème. Les erreurs courantes peuvent impliquer une authentification incorrecte, des problèmes de réseau ou des restrictions de pare-feu.
  • Vérifiez la résolution DNS: assurez-vous que votre client peut résoudre correctement le nom d'hôte du serveur à son adresse IP.
  • Vérifiez SELINUX ou Apparmor: ces modules de sécurité peuvent bloquer les connexions SSH. Les désactiver temporairement (pour les tests de test uniquement) pour voir s'ils sont la cause. N'oubliez pas de les réactiver par la suite.

Quelles sont les principales différences entre l'authentification des clés SSH et l'authentification du mot de passe?

L'authentification des clés SSH et l'authentification du mot de passe diffèrent considérablement par la sécurité et la commodité:

  • Sécurité: l'authentification des clés SSH est beaucoup plus sécurisée que l'authentification du mot de passe. Les mots de passe peuvent être devinés, fissurés ou volés, tandis qu'une clé privée compromise nécessite un accès physique ou une attaque sophistiquée. L'authentification clé repose sur la cryptographie asymétrique, ce qui le rend beaucoup plus difficile à craquer.
  • Concurrence: L'authentification du mot de passe est généralement plus pratique pour la configuration initiale, car elle ne nécessite aucune gestion des clés. Cependant, l'authentification clé devient plus pratique à long terme, car elle élimine la nécessité de se souvenir et de taper les mots de passe.
  • Implémentation: l'authentification du mot de passe utilise une combinaison de nom d'utilisateur / mot de passe simple. L'authentification des clés utilise une paire de clés: une clé privée (gardée secrète sur la machine client) et une clé publique (placée sur le serveur). Le serveur vérifie l'identité du client en vérifiant la signature numérique créée avec la clé privée.
  • Risque: l'authentification du mot de passe présente un risque élevé d'attaques brutales. L'authentification clé est nettement plus résistante aux attaques par force brute car elle n'implique pas de deviner les mots de passe. Cependant, la perte ou le compromis de la clé privée est un risque critique avec l'authentification clé.

En résumé, bien que l'authentification du mot de passe est plus facile à configurer initialement, l'authentification des clés SSH est fortement recommandée pour sa sécurité supérieure, en particulier pour les serveurs qui gèrent les données sensibles. Le compromis de commodité est de loin contrebalancé par l'amélioration de la sécurité.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal