GNU/Linux >> Tutoriels Linux >  >> Debian

Comment gérer à distance un serveur Linux avec SSH

SSH signifie Secure Shell et c'est un protocole utilisé pour accéder en toute sécurité à un serveur distant sur un réseau local ou sur Internet pour la configuration, la gestion, la surveillance et le dépannage, etc.

Dans cet article, je vais vous expliquer comment gérer un serveur Linux distant à l'aide de SSH.

J'ai exécuté toutes les commandes sur mes machines Debian 10.

Prérequis

Vous devez disposer des éléments suivants.

  1. Deux machines Debian 10 avec des privilèges root.
  2. Une adresse IP, un nom d'utilisateur et un mot de passe de la machine distante.
  3. Connexion Internet sur les deux machines.

Comment installer un serveur SSH ouvert ?

Une fois que vous avez configuré une nouvelle machine Linux dans votre infrastructure, il est important de la préparer pour un accès à distance. Par conséquent, il est obligatoire d'installer open ssh sur un serveur ou une machine distante à laquelle vous essayez d'accéder.

Avant d'installer un serveur SSH ouvert, exécutez la commande suivante pour mettre à jour le référentiel.

apt-get update

Attendez que l'opération soit terminée.

Après avoir mis à jour le référentiel, exécutez la commande suivante avec les privilèges root pour installer un serveur SSH ouvert.

apt-get install openssh-server

Lorsque vous êtes invité à confirmer, appuyez sur "y" sur le clavier et attendez la fin de l'installation. Cela peut prendre plusieurs minutes.

Configuration des paramètres du serveur SSH

Une fois Open SSh installé côté serveur, nous pouvons modifier ses paramètres de configuration de base. Ouvrez le terminal et exécutez la commande suivante avec les privilèges root.

nano /etc/ssh/sshd_config

Voici l'exemple de sortie.

Vous pouvez modifier les différents paramètres dans le fichier ci-dessus.

Par défaut, SSH écoute sur le port 22. Vous pouvez passer au port souhaité. Vous pouvez également modifier le nombre maximal de sessions (MaxSessions) pouvant être établies simultanément avec le serveur, 10 est la valeur par défaut.

Changer le port SSH du serveur

Comme nous l'avons vu, le serveur écoute par défaut sur le port 22. Si vous souhaitez configurer votre serveur pour écouter un port spécifique, voici la marche à suivre.

Ouvrez le terminal et exécutez la commande suivante avec les privilèges root.

nano /etc/ssh/sshd_config

Un fichier doit être ouvert comme indiqué dans la capture d'écran ci-dessus.

Localisez le port 22 ou #Port 22 et tapez le numéro de port souhaité sans le signe #.

Il est recommandé d'utiliser le numéro de port entre 1024 et 65535 car les ports 0-1023 sont réservés à des services spécifiques.

Supposons que vous affectiez 2222, écrivez ce qui suit dans le fichier de configuration SSH.

Port 2222

Vous trouverez ci-dessous l'exemple de sortie après modification du numéro de port.

Redémarrez le service SSH en exécutant la commande suivante sur le terminal.

service ssh restart

Activation de la connexion root sur le serveur SSH

Par défaut, vous ne pouvez pas vous connecter directement au serveur SSH avec les privilèges root pour des raisons de sécurité. Si vous souhaitez activer cette connexion, vous devez apporter des modifications au fichier de configuration du serveur SSH.

Ouvrez le terminal et exécutez la commande suivante avec les privilèges root pour ouvrir le fichier de configuration.

nano /etc/ssh/sshd_config

Ajoutez la ligne suivante dans le bloc d'authentification,

PermitRootLogin oui

Vous trouverez ci-dessous l'exemple de sortie après avoir apporté des modifications au fichier de configuration.

Redémarrez le service SSH en exécutant la commande suivante sur le terminal avec les privilèges root.

service ssh restart

Réduire les tentatives de connexion infructueuses au serveur SSH

Par défaut, vous pouvez faire 6 tentatives de connexion au serveur SSH. Une fois que la valeur atteint la moitié de 6, des échecs de connexion supplémentaires sont consignés. Si vous souhaitez modifier cette valeur, vous devez ajuster le paramètre MaxAuthTries dans le fichier de configuration du serveur SSH.

Ouvrez le terminal et exécutez la commande suivante avec les privilèges root.

Ajoutez la ligne suivante (supposez que vous souhaitiez définir cette valeur sur 1) dans le bloc Authentification.

MaxAuthTries 1

Vous trouverez ci-dessous l'exemple de sortie après avoir apporté des modifications au fichier.

Redémarrez le service SSH en exécutant la commande suivante sur le terminal avec les privilèges root.

service ssh restart

Vous trouverez ci-dessous l'exemple de sortie.

Après un seul échec de connexion, vous recevrez trop de messages d'échecs d'authentification, comme indiqué dans la capture d'écran suivante.

Forcer le serveur SSH à écouter des IP spécifiques

Par défaut, le serveur SSH écoute toutes les adresses IP attribuées à votre serveur SSH. Cependant, en apportant des modifications au fichier de configuration, vous pouvez forcer votre serveur SSH à écouter des adresses IP spécifiques. Voici comment.

Supposons que j'ai deux adresses IP (10.1.1.2 et 10.1.1.3) attribuées à mon interface, comme indiqué dans la capture d'écran suivante. Je veux forcer mon serveur à écouter l'adresse IP 10.1.1.2.

Ouvrez le terminal et exécutez la commande suivante avec les privilèges root pour ouvrir le fichier de configuration SSH.

nano /etc/ssh/sshd_config

Ajoutez la ligne suivante en haut du fichier,

ListenAddress 10.1.1.2

Vous trouverez ci-dessous l'exemple de sortie après avoir apporté des modifications au fichier de configuration.

Redémarrez le service SSH en exécutant la commande suivante sur le terminal.

redémarrage du service ssh

Autoriser ou refuser à des utilisateurs ou à des groupes spécifiques de se connecter au serveur SSH

Par défaut, chaque utilisateur peut se connecter à distance au serveur SSH. Cependant, vous pouvez autoriser ou refuser à des utilisateurs ou à des groupes spécifiques de se connecter au serveur SSH.

Ouvrez le terminal et exécutez la commande suivante avec les privilèges root pour ouvrir le fichier de configuration du serveur SSH.

nano /etc/ssh/sshd_config

Vous trouverez ci-dessous l'exemple de sortie.

Supposons que vous souhaitiez autoriser uniquement l'utilisateur "tony" à se connecter à distance au serveur SSH. Aucun autre utilisateur ne pourra se connecter au serveur SSH. Si vous avez plusieurs utilisateurs, ils doivent être séparés par un espace.

Ajoutez la ligne suivante dans le fichier de configuration du serveur SSH.

AllowUsers tony

Ci-dessous se trouve l'exemple de fichier de configuration après avoir ajouté la ligne,

Redémarrez le service SSH en exécutant la commande suivante avec les privilèges root sur le terminal,

service ssh restart

De même, si vous souhaitez autoriser tous les utilisateurs à se connecter à distance au serveur SSH mais souhaitez en interdire un ou plusieurs, ajoutez les lignes suivantes dans le fichier de configuration du serveur. Les utilisateurs doivent être séparés par commande. Supposons que je veuille refuser uniquement l'utilisateur "tony", ajoutez la ligne suivante dans le fichier de configuration du serveur.

DenyUsers tony

Vous trouverez ci-dessous l'exemple de fichier de configuration après avoir ajouté la ligne ci-dessus.

Redémarrez le service SSH en exécutant la commande suivante avec les privilèges root sur le terminal.

service ssh restart

De même, vous pouvez autoriser et refuser à des groupes d'utilisateurs de se connecter au serveur SSH en ajoutant les lignes suivantes dans le fichier de configuration.

AllowGroups <groupname>

ou

DenyGroups <groupname>

Si vous avez plusieurs groupes à autoriser ou à refuser, vous pouvez les séparer par un espace.

La combinaison d'autorisation et de refus est traitée dans l'ordre suivant.

DenyUsers, AllowUsers, DenyGroups et enfin AllowGroups

Modification du délai de grâce de connexion

Par défaut, vous disposez de 2 minutes pour vous connecter à un serveur distant après SSH. Si vous ne pouvez pas vous connecter à un serveur distant dans les 2 minutes, le SSH se déconnectera. Voici comment modifier le délai de grâce de connexion.

Ouvrez le terminal et exécutez la commande suivante avec les privilèges root pour ouvrir le fichier de configuration du serveur.

nano /etc/ssh/sshd_config

Vous trouverez ci-dessous l'exemple de sortie.

Localisez la ligne suivante,

#LoginGraceTime 2m

Remplacez cette ligne par le temps de grâce souhaité, disons 1 minute. La ligne complète devrait être,

LoginGraceTime 1m

Vous trouverez ci-dessous l'exemple de fichier de configuration après avoir apporté des modifications.

Fermez le fichier et redémarrez le service SSH en exécutant la commande file.

service ssh restart

Comment installer le client OpenSSH

La machine Debian 10 qui va accéder à une machine ou à un serveur distant s'appelle un client et nous devons y installer un "client SSH ouvert".

Ouvrez le terminal et exécutez la commande suivante pour mettre à jour le référentiel.

apt-get update

Attendez que l'opération soit terminée.

Dès que le référentiel est mis à jour, exécutez la commande suivante pour installer un client SSH ouvert.

apt-get install openssh-client

Lorsque vous êtes invité à confirmer, appuyez sur Y à partir du clavier. L'installation peut prendre plusieurs minutes, veuillez donc être patient.

Exécutez la commande suivante sur le client et le serveur pour confirmer que le service SSH est en cours d'exécution.

Une fois que nous avons SSH exécuté à la fois sur le client et le serveur sur une machine distante, nous pouvons passer à la gestion à distance.

Connexion au serveur Debian 10 distant avec SSH

Pour vous connecter à la machine Debian 10 distante, vous devez disposer de son adresse IP, de son nom d'utilisateur et de son mot de passe.

Voici la syntaxe complète de la commande si votre serveur SSH écoute sur le port par défaut 22.

ssh <[email protected]>

Vous serez invité à entrer un mot de passe utilisateur, fournissez-le à l'aide du clavier et appuyez sur Entrée.

Supposons que l'utilisateur soit Tony et que l'adresse IP de la machine distante soit 10.1.1.2. Exécutez la commande suivante sur le terminal.

ssh [email protected]

Vous trouverez ci-dessous l'exemple de sortie.

Vous devriez maintenant être connecté en toute sécurité, comme indiqué dans la capture d'écran ci-dessus.

Cependant, si votre serveur SSH écoute sur un autre port (supposons 2222). La syntaxe complète de la commande doit être la suivante.

ssh -p adresse [email protected]

Supposons que l'utilisateur soit Tony et que l'adresse IP de la machine distante soit 10.1.1.2. Exécutez la commande suivante sur le terminal.

ssh -p 2222 [email protected]

Conclusion

C'était donc le tutoriel sur la gestion à distance d'un serveur Linux avec SSH. J'espère que vous l'avez apprécié.


Debian
  1. Comment SSH sur Linux à partir d'Android

  2. Comment activer le serveur SSH sur Ubuntu 22.04 Jammy Linux

  3. Comment surveiller la sécurité du serveur Linux avec Osquery

  4. Comment configurer SSH sans mot de passe sous Linux

  5. Comment puis-je enregistrer le serveur Linux avec le serveur DNS Windows

Comment gérer les versions de Nodejs avec n sous Linux

Comment gérer le système de fichiers Linux sur le serveur Ubuntu

Comment gérer à distance le serveur Ubuntu avec SSH

Comment SSH au serveur via Linux

Comment gérer le stockage avec GParted Linux

Comment sécuriser SSH avec Fail2Ban