Aperçu
sshd s'exécute en arrière-plan et attend par défaut les connexions des clients SSH sur le port TCP 22. Toutes les communications sont cryptées pour assurer la sécurité et il prend en charge diverses méthodes d'authentification (mot de passe, clé publique, etc.).
Fonctionnalités principales
- Fournit un accès sécurisé au shell distant
- Prend en charge le transfert de fichiers via SCP/SFTP
- Fonctionnalités de transfert de port et de tunneling
- Prend en charge divers mécanismes d'authentification (mot de passe, clé publique)
Fichier de configuration par défaut
Le comportement de sshd est principalement contrôlé par le fichier de configuration suivant.
- Chemin: /etc/ssh/sshd_config
Options principales
sshd est généralement exécuté en tant que service système, donc les options de ligne de commande ne sont pas souvent utilisées directement, mais il existe quelques options qui peuvent être utilisées à des fins de débogage ou de test.
Exécution et débogage
Commande générée :
Essayez de combiner les commandes.
Description:
`sshd` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
sshd est généralement contrôlé via un gestionnaire de services tel que systemd.
Vérifier l'état du service sshd
sudo systemctl status sshd
Vérifie l'état actuel du service sshd.
Redémarrer le service sshd
sudo systemctl restart sshd
Redémarre le service sshd après avoir modifié la configuration pour appliquer les changements.
Activer le service sshd (démarrage automatique au boot)
sudo systemctl enable sshd
Configure le service sshd pour qu'il démarre automatiquement au démarrage du système.
Valider le fichier de configuration sshd
sudo sshd -t
Vérifie s'il y a des erreurs de syntaxe dans le fichier sshd_config.
Exécuter sshd en mode débogage (pour test)
sudo sshd -d -p 2222
Exécute sshd en mode débogage sur un port différent du port par défaut (par exemple, 2222). Utile pour tester sans affecter le service réel.
Installation
sshd fait partie du paquet OpenSSH server. Il est généralement installé par défaut sur la plupart des distributions Linux, mais si ce n'est pas le cas, vous pouvez l'installer en utilisant les commandes suivantes.
Systèmes basés sur Debian/Ubuntu
sudo apt update
sudo apt install openssh-server
Systèmes basés sur CentOS/RHEL/Fedora
sudo yum install openssh-server # ou sudo dnf install openssh-server
Conseils et précautions
sshd joue un rôle très important dans la sécurité du système, il est donc conseillé de prendre en compte les points suivants lors de la configuration.
Conseils pour renforcer la sécurité
- **Changer le port par défaut** : Modifiez `Port 22` pour un autre numéro de port élevé et arbitraire afin de réduire les attaques par balayage.
- **Désactiver la connexion root** : Configurez `PermitRootLogin no` pour interdire la connexion directe en tant qu'utilisateur root.
- **Désactiver l'authentification par mot de passe et utiliser l'authentification par clé publique** : Configurez `PasswordAuthentication no` et utilisez l'authentification par clé publique (`PubkeyAuthentication yes`) pour renforcer la sécurité.
- **Restreindre les utilisateurs autorisés** : Utilisez les options `AllowUsers` ou `AllowGroups` pour spécifier explicitement les utilisateurs ou groupes autorisés à se connecter via SSH.
- **Configurer le pare-feu** : Configurez le pare-feu (ufw, firewalld, etc.) pour n'autoriser l'accès externe qu'au port SSH (par défaut 22 ou le port modifié).
Redémarrer le service après modification de la configuration
Après avoir modifié le fichier `sshd_config`, vous devez impérativement redémarrer le service avec la commande `sudo systemctl restart sshd` pour que les modifications prennent effet.
Tester la connexion
Après avoir modifié la configuration, assurez-vous de tester la connexion SSH depuis un autre terminal pour vérifier que les modifications ont été appliquées correctement. Il est conseillé de tester tout en maintenant la session existante.