Vous êtes sur la page 1sur 19

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.

AllowUsers laxmi@192.168.1.10 vinita@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

Vous aimerez peut-être aussi