Comment installer et paramétrer un serveur SSH sur Linux
Bien sûr ! Voici une introduction courte et engageante sur le sujet :
Vous êtes passionné de sécurité informatique et souhaitez apprendre à installer et paramétrer un serveur SSH sur Linux ? Vous êtes au bon endroit ! Découvrez dans cet article toutes les étapes essentielles pour mettre en place un serveur SSH fiable et sécurisé, afin de protéger efficacement les données de votre système. Suivez le guide pour devenir un expert en la matière !
Qu’est-ce que SSH et OpenSSH ?
Secure Shell (SSH) est à la fois un programme et un protocole de communication sécurisé. SSH permet de se connecter à distance sur une machine et de transférer des fichiers de manière sécurisée si un serveur SSH est installé sur cette machine.
OpenSSH est un ensemble d’outils informatiques open source permettant de réaliser ces communications sécurisées en utilisant le protocole SSH.
Installation du serveur OpenSSH
Pour installer le serveur SSH sur votre machine Linux, il faut installer le paquet openssh-server. Voici comment procéder pour différentes distributions :
- Gentoo et Calculate Linux :
emerge --ask openssh
- CentOS et Fedora :
dnf install openssh-server
- Debian :
apt install openssh-server
Configurer le service SSH
Lancer le service au démarrage
Pour que le service SSH se lance automatiquement au démarrage, utilisez les commandes suivantes selon votre distribution :
- Gentoo (OpenRC) / Calculate Linux :
rc-update add sshd default /etc/init.d/sshd start
- Fedora et CentOS :
systemctl enable --now sshd.service
- Debian :
systemctl enable --now ssh.service
Affiner la configuration de SSH
Désactiver les connexions SSH en root
Il est recommandé de ne pas permettre la connexion en root. Pour cela, éditez le fichier /etc/ssh/sshd_config et modifiez cette ligne :
PermitRootLogin no
Pour autoriser uniquement la connexion par clé pour root, utilisez :
PermitRootLogin prohibit-password
N’oubliez pas de redémarrer le service SSH.
Changer le port de SSH
Pour augmenter la sécurité, il est recommandé de changer le port par défaut de SSH. Par exemple, pour utiliser le port 2222, éditez le fichier /etc/ssh/sshd_config :
Port 2222
N’oubliez pas d’ajouter une exception pour le pare-feu :
firewall-cmd --add-port=2222/tcp --permanent
firewall-cmd --reload
Si vous utilisez SELinux, vous devez également mettre à jour la politique SELinux :
semanage port -a -t ssh_port_t -p tcp 2222
N’oubliez pas de redémarrer SSH pour appliquer les changements.
Autoriser/Interdire des utilisateurs et des groupes
Pour autoriser ou interdire des utilisateurs spécifiques, éditez le fichier sshd_config :
AllowUsers user1 user2 user3
DenyUsers user1 user2 user3
Pour les groupes :
AllowGroups group1 group2
DenyGroups group1 group2
Afficher une bannière
Si le serveur est public, vous pouvez afficher une bannière à la connexion :
###############################################################################
# #
# WARNING: Unauthorized access to this system is forbidden and will be #
# prosecuted by law. By accessing this system, you agree that your actions #
# may be monitored if unauthorized usage is suspected. #
# #
###############################################################################
Décommentez la ligne “Banner” dans le fichier /etc/ssh/sshd_config et indiquez le fichier bannière :
Banner /etc/banner
Créez ensuite le fichier /etc/banner avec votre bannière.
Tester sa connexion SSH
En local
Ouvrez une console et tentez de vous connecter avec :
ssh [email protected]
À distance
Depuis un autre PC, connectez-vous en utilisant l’adresse IP de la machine où SSH est installé :
ssh [email protected]
Si vous avez changé le port :
ssh [email protected] -p 2222
Utiliser des clés SSH pour la connexion
Générer la paire de clés
Générez une clé au format RSA avec une taille de 4096 bits :
ssh-keygen -t rsa -b 4096
Vous pouvez également utiliser des types de clés plus récents et performants comme ECDSA ou ED25519 :
ssh-keygen -t ed25519
Configurer le serveur
Copiez la clé publique générée sur le serveur dans le fichier ~/.ssh/authorized_keys :
ssh-copy-id user@serveur
N’oubliez pas de recharger la configuration SSH.
Désactiver les mots de passe pour n’autoriser que les clés
Pour cela, éditez le fichier /etc/ssh/sshd_config et modifiez les valeurs :
PasswordAuthentication no
UsePAM no
Rechargez la configuration de SSH.
Changer la passphrase de la clé privée
Utilisez la commande suivante pour changer la passphrase :
ssh-keygen -p -f ~/.ssh/id_rsa
Créer des alias SSH
Créez le fichier ~/.ssh/config et ajoutez des alias :
Host srv1
HostName 192.168.10.100
Port 2222
User adrien
Dès lors, tapez simplement :
ssh srv1
Tunnels et redirection de ports
Redirection locale de port
Utilisez l’option -L pour rediriger un port distant vers une destination locale :
ssh machine-distante -L port-local:HOSTNAME:port-distant
Redirection distante de port
Utilisez l’option -R pour rediriger un port local vers une destination distante :
ssh -R port-distant:HOSTNAME:port-local machine-distante
Redirection dynamique de port (Proxy SOCKS)
Utilisez l’option -D pour une redirection dynamique basée sur SOCKS :
ssh -D port serveur-distant
Commentaires
Laisser un commentaire