Comment configurer le serveur SSH dans Redhat Linux
Ce tutoriel explique comment configurer et gérer le serveur SSH et le client SSH sous Linux étape par étape avec des
exemples pratiques. Apprenez à installer, activer et démarrer le serveur SSH et le client SSH ; générer des clés
publiques SSH et des clés privées SSH pour l'authentification par clé et configurer en détail la sécurité basée sur
l'utilisateur et l'hôte.
En tant qu'administrateur Linux, vous devez savoir
SSH signifie Secure Shell.
SSH est un protocole réseau pour la communication sécurisée de données.
Le protocole SSH permet la connexion en ligne de commande à distance.
Le protocole SSH permet l'exécution de commandes à distance.
Pour utiliser SSH, vous devez déployer respectivement le serveur SSH et le programme client SSH.
OpenSSH est une version GRATUITE de SSH.
Telnet, rlogin et ftp transmettent des données non cryptées sur Internet.
OpenSSH chiffre les données avant de les envoyer sur un réseau non sécurisé comme Internet.
OpenSSH élimine efficacement l'écoute clandestine, le détournement de connexion et d'autres attaques.
OpenSSH fournit un tunneling sécurisé et plusieurs méthodes d'authentification.
OpenSSH remplace Telnet et rlogin par SSH, rcp par scp, ftp par sftp.
Outils SSH
Pour l'examen RHCE, vous devez connaître les outils SSH suivants
sshd
Le service démon qui implémente le serveur ssh. Par défaut, il doit écouter sur le port 22 TCP/IP.
chut
La commande ssh [Secure Shell] est un moyen sécurisé de se connecter et d'exécuter des commandes dans le
système SSH Server.
scps
La commande Secure Copy est un moyen sécurisé de transférer des fichiers entre ordinateurs à l'aide de la méthode
de cryptage par clé privée/publique.
ssh-keygen
Cet utilitaire est utilisé pour créer les clés publiques/privées.
ssh-agent
Cet utilitaire contient les clés privées utilisées pour l'authentification RSA.
ssh-ajouter
Ajoute des identités RSA à l'agent d'authentification ssh-agent.
Exercices de laboratoire
Configurez un serveur SSH et un client SSH sur RHEL.
Créez deux utilisateurs user1 et user2 et vérifiez que les deux utilisateurs peuvent se connecter au serveur SSH à
partir du client SSH.
N'autorisez pas les utilisateurs root et user1 à s'y connecter et autorisez le reste des utilisateurs. Pour le confirmer,
connectez-vous à partir de user2 .
Reconfigurez le serveur SSH pour autoriser la connexion uniquement à l'aide de clés publiques/privées. Générez des
clés pour l' utilisateur2 et vérifiez que l' utilisateur2 peut se connecter à l'aide de clés.
Changer le port ssh par défaut en 2223
Dans ce tutoriel, j'utiliserai deux systèmes Server et linuxclient de notre environnement LAB. Je vais configurer
OpenSSH Server sur le système Server et le client OpenSSH sur le système linuxclient . Si vous souhaitez vérifier la
topologie du réseau utilisée dans cet article, veuillez consulter l'article suivant. Laboratoire mis en place pour la
pratique RHEL .
Solutions d'exercices LAB
Configurez un serveur SSH et un client SSH sur RHEL6.
Comment configurer le serveur SSH dans RHEL
Deux RPM sont nécessaires pour configurer et exécuter le serveur OpenSSH.
serveur openssh
ouvresh
Avant de commencer la configuration, assurez-vous que les packages RPM nécessaires sont installés. Installez s'il
manque un RPM.
Vérifiez l'état actuel du service sshd , il doit être en cours d'exécution. Si le service est arrêté, démarrez-le. Les options
dont vous avez besoin avec la commande de service sont start | arrêter | redémarrer | statut
Configurez-le pour qu'il démarre au démarrage du système
L'adresse IP du serveur OpenSSH est requise, notez-la
Lors de l'examen RHCE, vous devez configurer un pare-feu pour bloquer ou autoriser les communications réseau via
un ou plusieurs ports. Donc, si vous avez configuré un pare-feu, vous devez autoriser SSH.
C'est tout ce dont nous avons besoin sur le serveur.
Comment configurer le client SSH sur RHEL 6
Le rpm openssh-clients est requis pour le client ssh.
Vérifiez les RPM nécessaires, installez s'il en manque
Vérifiez l'état du service sshd , il doit être en cours d'exécution. Démarrez-le s'il est éteint
Configurer le service sshd pour qu'il démarre au démarrage
Vérifier la connectivité depuis le serveur SSH
C'est tout ce dont nous avons besoin sur le système client.
Créez deux utilisateurs user1 et user2 et vérifiez que les deux utilisateurs peuvent se connecter au serveur SSH à partir
du client SSH.
Allez sur le serveur et créez deux utilisateurs user1 et user2
Ouvrez le fichier de configuration principal sshd_config
Vérifiez la valeur de la directive PasswordAuthentication . Pour accepter l'authentification de base par mot de
passe de l'utilisateur local, il doit être défini sur yes . Définissez-le sur oui s'il est défini sur non et enregistrez le
fichier.
Redémarrez le service si vous avez apporté des modifications à sshd_config
Allez sur le système linuxclient et vérifiez que les deux utilisateurs peuvent se connecter au serveur SSH. Vérifiez
également à partir de l'utilisateur root .
N'autorisez pas les utilisateurs root et user1 à s'y connecter et autorisez le reste des utilisateurs. Pour le confirmer,
connectez-vous depuis user2.
Sécurité basée sur l'utilisateur et l'hôte
Les directives supplémentaires suivantes peuvent être ajoutées au fichier /etc/sshd/sshd_config afin de rendre le
serveur ssh plus restrictif.
Bloquer les mots de passe vides
PermitEmptyPasswords non
Bloquer l'utilisateur root pour se connecter au système à l'aide de ssh.
PermitRootLogin non
Limitez les utilisateurs autorisés à accéder à un système via SSH. Dans ce cas, seuls les utilisateurs 'laxmi' et 'vinita'
sont autorisés à se connecter au système en utilisant SSH
AllowUsers laxmi vinita
Rendez-le plus restrictif et ajoutez une adresse de nœud avec le nom d'utilisateur. Dans le cas suivant, autorisez
uniquement la connexion via les utilisateurs SSH 'laxmi' et 'vinita' à partir du nœud 192.168.1.10.
De plus, vous pouvez restreindre l'accès aux utilisateurs. Dans ce cas, tous les utilisateurs sauf 'user1' sont autorisés à
se connecter au serveur SSH.
DenyUsers utilisateur1
Revenez sur le serveur et ouvrez à nouveau le fichier de configuration principal
À la fin du fichier, ajoutez les directives suivantes et enregistrez le fichier
PermitRootLogin non
DenyUsers utilisateur1
Redémarrez le service sshd
Revenez sur le système linuxclient et vérifiez que nous avons bloqué user1 et root . Vérifiez également que
l' utilisateur2 est capable de se connecter au serveur SSH.
Reconfigurez le serveur SSH pour autoriser la connexion uniquement à l'aide de clés publiques/privées. Générez des
clés pour l'utilisateur2 et vérifiez que l'utilisateur2 peut se connecter à l'aide de clés.
Pour rendre le serveur Linux plus sécurisé, l'administrateur Linux désactive généralement l'authentification par mot de
passe sur le serveur SSH et n'autorise que l'authentification par clé publique/privée.
Clés privées
Les clés privées sont stockées sur le serveur et doivent être sécurisées. Tout ce qui est chiffré avec une clé publique ne
peut être déchiffré qu'avec une clé privée couplée. Elle doit donc être accessible uniquement à l'utilisateur
propriétaire de cette clé, dans le sous-répertoire .ssh du répertoire personnel de cet utilisateur.
Clés publiques
Les clés publiques sont accessibles au public. Les clés publiques sont nécessaires pour se connecter au serveur. Les
clés publiques des serveurs SSH appartiennent aux postes de travail administratifs.
Revenez sur le serveur et ouvrez à nouveau le fichier de configuration principal
Décommentez les directives suivantes et enregistrez le fichier
Authentification RSA oui
PubkeyAuthenticationoui
AuthorizedKeysFile .ssh/authorized_keys
Redémarrez le service sshd
Connectez -vous depuis user2 et créez un répertoire ssh avec la permission 755
Revenez sur le système linuxclient et créez un compte utilisateur normal user2 .
Connectez -vous depuis user2 et créez un répertoire ssh avec la permission 755
Générez la paire de clés publique/privée. Acceptez l'emplacement par défaut pour le fichier de clé.
Entrez la phrase de passe 'I love linux' et confirmez
La clé publique est stockée dans /home/user2/.ssh/id_rsa.pub . Créer une copie de la clé publique
Copiez le fichier authorized_keys sur le serveur dans /home/user2/.ssh/authorized_keys . Entrez le mot de passe
de l' utilisateur2 [compte d'utilisateur sur le serveur] lorsque vous y êtes invité
Sur le serveur , vérifiez que nous avons correctement copié la clé publique sur le serveur. Définissez également
l'autorisation sur 644 pour les clés autorisées
Connectez-vous à partir de la racine sur le serveur et ouvrez le fichier sshd_config
Définissez la directive PasswordAuthentication sur no et enregistrez le fichier. Cela bloquera la connexion à l'aide
d'un mot de passe.
Redémarrez le service sshd
Revenez sur le système linuxclient .
Déconnectez-vous de l'utilisateur2 et reconnectez -vous.
Essayez maintenant de vous connecter à partir de user2 sur linuxclient . Entrez la phrase de passe 'J'aime Linux'
Changer le port ssh par défaut en 2223
Allez sur le serveur et ouvrez à nouveau le fichier sshd_config
Décommenter la directive suivante et changer la valeur en 2223
#port 22
redémarrer le service sshd
Revenez sur le système linuxclient et essayez de vous connecter avec le port par défaut
Spécifiez maintenant le nouveau port
Fichiers de configuration SSH
Il existe deux ensembles différents de fichiers de configuration
Configuration SSH à l'échelle du système : - stockée dans le répertoire /etc/ssh/
Configuration SSH spécifique à l'utilisateur : - stockée dans ~/.ssh/ dans le répertoire personnel de l'utilisateur
Fichiers de configuration à l'échelle du système
Dossier La description
/etc/ssh/ssh_config Le fichier de configuration du client SSH par défaut.
/etc/ssh/sshd_config Le fichier de configuration du démon sshd.
/etc/ssh/ssh_host_dsa_key La clé privée DSA utilisée par le démon sshd.
/etc/ssh/ssh_host_dsa_key.pub La clé publique DSA utilisée par le démon sshd.
/etc/ssh/ssh_host_key La clé privée RSA utilisée par le démon sshd pour la version 1 du protocole SSH.
/etc/ssh/ssh_host_key.pub La clé publique RSA utilisée par le démon sshd pour la version 1 du protocole SSH.
/etc/ssh/ssh_host_rsa_key La clé privée RSA utilisée par le démon sshd pour la version 2 du protocole SSH.
/etc/ssh/ssh_host_rsa_key.pub La clé publique RSA utilisée par le démon sshd pour la version 2 du protocole SSH.
Fichiers de configuration spécifiques à l'utilisateur
Dossier La description
~/.ssh/authorized_keys Contient une liste de clés publiques autorisées pour les serveurs.
~/.ssh/id_dsa Contient la clé privée DSA de l'utilisateur.
~/.ssh/id_dsa.pub La clé publique DSA de l'utilisateur.
~/.ssh/id_rsa La clé privée RSA utilisée par ssh pour la version 2 du protocole SSH.
~/.ssh/id_rsa.pub La clé publique RSA utilisée par ssh pour la version 2 du protocole SSH.
~/.ssh/identité La clé privée RSA utilisée par ssh pour la version 1 du protocole SSH.
~/.ssh/identity.pub La clé publique RSA utilisée par ssh pour la version 1 du protocole SSH.
~/.ssh/known_hosts Contient les clés d'hôte DSA des serveurs SSH auxquels l'utilisateur accède.
Par ComputerNetworkingNotes Mis à jour le 2021-06-25 10:04:38 IST