Linux et Windows étaient autrefois des ennemis mortels, mais de nos jours, ils tendent à mieux s’entendre. En fait, maintenant vous pouvez même utiliser SSH nativement sur Windows : à la fois en tant que client et serveur. Que faites-vous lorsque vous êtes un administrateur Windows mais que vous devez également gérer des machines Linux ? Vous vous habituez à la commande (Secure Shell) SSH sous Linux !
Ceci est la partie IV de la série d’articles de blog « Un gars de Windows dans un monde Linux ». Si vous souhaitez en savoir plus sur les concepts Linux populaires, assurez-vous de consulter la première partie, la deuxième partie et la troisième partie.
Dans cet article, vous allez apprendre tout ce qu’il faut savoir sur la manière d’activer SSH sous Linux et comment configurer votre client SSH Windows pour vous connecter à des serveurs Linux distants.
Remarque : Tous les exemples utiliseront OpenSUSE Linux.
Se détacher de l’environnement de bureau
Dans le premier article de cette série, le tutoriel recommandait d’utiliser l’environnement de bureau KDE. Lorsque vous avez configuré OpenSUSE, vous avez probablement vu une autre option alléchante : l’édition serveur d’OpenSUSE.

Si vous avez installé la version serveur de la plupart des distributions Linux (y compris OpenSUSE), vous avez peut-être remarqué l’absence totale d’un bureau. La version serveur de la plupart des distributions populaires (comme OpenSUSE, ainsi que Ubuntu Server et CentOS) est comme Windows Server Core : aucun bureau à proprement parler.
Pour comprendre pourquoi le bureau est généralement délaissé dans la culture Linux, il faut comprendre l’interface en ligne de commande (CLI) et SSH.
SSH : La norme en matière de gestion à distance
SSH, comme de nombreux autres protocoles de gestion à distance, est un système client-serveur. Un client se connecte à distance via le réseau à un serveur et vous permet d’exécuter des commandes (voire de transférer des fichiers). SSH est la norme de facto en matière de gestion à distance de Linux.
Étant donné que SSH existe depuis longtemps et est profondément intégré à l’écosystème Linux, les utilitaires d’administration en ligne de commande dominent l’environnement serveur Linux. La plupart des distributions de serveur Linux n’ont pas d’interface graphique.
Utiliser les commandes SSH dans Linux
Assez de discussions. Voyons ce que SSH peut faire en l’activant d’abord dans OpenSUSE Linux. Pour ce faire, utilisez le gestionnaire de paquets YaST. Pour activer SSH avec YaST dans OpenSUSE :
- Cliquez sur le menu Démarrer, tapez terminal et choisissez Konsole si vous avez installé le gestionnaire de bureau KDE lors de l’installation d’OpenSUSE.
- Dans le terminal, ouvrez YaST en exécutant
sudo yast
. - Une fois dans YaST, descendez jusqu’à système, puis déplacez-vous vers la droite jusqu’à gestionnaire de services et appuyez sur Entrée pour continuer.
- Descendez jusqu’à sshd et appuyez sur
alt+s
pour démarrer le service SSH. - Appuyez sur
alt+r
pour changer le mode de démarrage de manuel à au démarrage. Cela garantira que le service du serveur SSH sera démarré même après un redémarrage. - Appuyez sur
alt+o
pour confirmer les modifications et les appliquer.
Vous pouvez voir ces étapes en action ci-dessous.

Autoriser SSH à travers le pare-feu
Presque toutes les distributions Linux sont livrées avec un pare-feu pour se protéger, comme Windows le fait. Vous pouvez en savoir plus sur le pare-feu d’OpenSUSE ici. Pour vous assurer que vous pouvez accéder au service SSH à distance depuis Windows, vous devez l’autoriser à travers le pare-feu. Voici comment faire :
- Toujours dans le terminal, lancez à nouveau YaST avec
sudo yast
. - Descendez jusqu’à Sécurité et utilisateurs, puis déplacez-vous vers la droite jusqu’à Pare-feu et appuyez sur Entrée pour continuer.
- Naviguez jusqu’à Zones -> Public et déplacez-vous vers la droite jusqu’à la fenêtre Services—Ports.
- Descendez pour trouver
ssh
dans la liste des services. - Sélectionnez
ssh
avec la barre d’espace et appuyez suralt+d
pour ajouter la sélection. - Appuyez sur
alt+a
pour accepter les modifications.
Vous pouvez voir toutes ces étapes ci-dessus représentées visuellement ci-dessous.

Tout comme Windows, Linux dispose de différents niveaux de confiance pour appliquer des règles de pare-feu. Ces niveaux sont appelés zones. Windows dispose par défaut des zones public, travail et privé. Linux en a beaucoup plus, mais par défaut il utilise la zone publique.
Connexion à Linux depuis Windows
Heureusement, de nos jours, Windows 10 dispose d’un client SSH intégré. Pour vous connecter à un hôte Linux, ouvrez une invite de commandes (cmd) ou une console PowerShell et spécifiez le nom d’utilisateur avec lequel vous souhaitez vous connecter, ainsi que l’adresse IP ou le nom d’hôte.
Si tout se passe bien, le client SSH devrait vous demander d’accepter une empreinte digitale. Une empreinte digitale est un identifiant permettant de s’assurer que quelqu’un n’a pas détourné l’adresse IP cible.
Si vous utilisez Windows 7, vous pouvez toujours vous connecter en SSH à votre hôte Linux. Vous devrez simplement télécharger le client SSH de Microsoft à partir d’ici. Ce client SSH est le même que celui utilisé par Windows 10.
Une fois que vous avez saisi yes
et entré votre mot de passe, vous êtes connecté à votre serveur ! Vous pouvez maintenant utiliser la ligne de commande comme si vous ouvriez un terminal sur l’ordinateur lui-même.
Ne pas exposer SSH (port par défaut 22) à Internet via votre routeur. Les bots parcourent constamment Internet à la recherche de ports SSH ouverts. Dès qu’un bot trouve un port ouvert, il commencera à envoyer des mots de passe en masse pour essayer de forcer l’accès.
Activer la prise en charge de la souris dans SSH avec Windows
Un des gros inconvénients de l’utilisation du client SSH natif de Windows 10 (du moins au moment de la rédaction de cet article) est le manque de prise en charge de la souris. Cela signifie que vous ne pouvez pas utiliser une souris dans midnight commander comme vous l’avez appris dans un précédent article de blog.
Heureusement, depuis la version huit du client Windows OpenSSH, vous pouvez obtenir la prise en charge de la souris ! Installons ce client.
- Téléchargez la dernière version de OpenSSH-Win64 à partir d’ici et extrayez le fichier zip résultant. Le tutoriel supposera que vous l’avez extrait dans ~\Downloads\OpenSSH-Win64.
- Ouvrez une console PowerShell et naviguez vers ~\Downloads\OpenSSH-Win64 avec la commande
cd ~\Downloads\OpenSSH-Win64
. - Vérifiez la version du client SSH en exécutant la commande
.\\ssh -V
. Au moment de la rédaction de ce guide, la version devrait être 8.1.0.0-p1. - Connectez-vous à votre serveur Linux en utilisant la commande
.\ssh <utilisateur>@<ip>
. - Une fois connecté, testez la prise en charge de la souris en exécutant la commande
mc
pour exécuter midnight commander et vérifier que vous pouvez utiliser une souris.
Vous pouvez voir toutes ces étapes ci-dessus représentées visuellement ci-dessous.
Remplacement du client SSH par défaut
Si vous souhaitez utiliser la nouvelle version de manière permanente, vous pouvez le faire, mais vous devez remplacer le client SSH par défaut de Windows 10. Cela garantit que chaque fois que vous exécutez ssh dans la ligne de commande, la version plus récente (avec prise en charge de la souris) est utilisée.
En supposant que vous ayez extrait le client dans le dossier ~\Téléchargements\OpenSSH-Win64
- Déplacez le dossier extrait OpenSSH-Win64 vers un dossier permanent de votre choix. Ce tutoriel utilisera C:\users\public\OpenSSH-Win64.
- Accédez à Démarrer puis à Exécuter et tapez sysdm.cpl ou ouvrez Système dans le panneau de configuration.
- Sous l’onglet Avancé, cliquez sur Variables d’environnement.
- Sous Variables système, cliquez sur Path.
- Cliquez sur Nouveau pour ajouter un nouveau chemin et spécifiez le chemin du dossier du client SSH (C:\users\public\OpenSSH-Win64 dans ce cas).
- Cliquez sur Déplacer vers le haut jusqu’à ce qu’il soit situé au-dessus du dossier %SystemRoot%\system32. Cela garantira que lorsque vous tapez
ssh
dans la ligne de commande, Windows le recherchera en premier ici. - Ouvrez une console PowerShell et exécutez
ssh -V
. Vous devriez voir la version comme étant 8.1.0.0-p.
Ces étapes sont résumées ci-dessous.

Donner la priorité à un dossier plutôt qu’à %SystemRoot%\system32 peut présenter un risque de sécurité. Si quelqu’un a accès à votre ordinateur, il peut décider d’insérer un virus dans le dossier OpenSSH-Win64 et de le nommer comme une utilitaire Windows comme cd.exe.
Vous devriez restreindre le dossier OpenSSH-Win64 en lecture seule pour tous sauf les administrateurs.
- Cliquez avec le bouton droit sur le dossier OpenSSH-Win64 et cliquez sur Propriétés.
- Sous l’onglet Sécurité, cliquez sur le bouton Avancé.
- Cliquez sur Désactiver l’héritage pour autoriser les autorisations personnalisées du dossier et empêcher les dossiers parent de remplacer les autorisations dans le dossier OpenSSH-Win64.
- Choisissez Ajouter, recherchez le groupe Administrateurs et donnez-leur tous les droits.
- Cliquez sur Ajouter, recherchez le groupe Everyone et donnez-leur des autorisations en lecture seule.
- Cochez la case Remplacer toutes les autorisations des objets enfants pour propager ces paramètres à tous les fichiers du dossier OpenSSH-Win64; cliquez sur Appliquer.
- Testez ces autorisations en créant un nouveau fichier dans le dossier OpenSSH-Win64. Windows devrait demander une autorisation d’administrateur.
Vous pouvez voir toutes ces étapes représentées visuellement ci-dessous.

Gestion des sessions déconnectées avec Tmux
Ah, quelle galère ! Vous êtes à mi-chemin de l’exécution d’une commande longue via SSH et votre connexion Internet se coupe. Maintenant, vous n’avez aucune idée de l’état du serveur Linux ! Est-ce que la commande est terminée ? Comment la récupérer ?
Les sessions déconnectées sont un problème légitime avec SSH et heureusement, elles ont une solution simple. Vous avez besoin d’un multiplexeur de terminal (tmux).
Tmux signifie à la fois l’abréviation de multiplexeur de terminal et le nom du programme lui-même
Tmux est un gestionnaire de session pour SSH. Il « maintient » une session si vous êtes déconnecté et la fait fonctionner en arrière-plan. Vous pouvez vous reconnecter à cette session ultérieurement ou même créer plusieurs sessions et passer de l’une à l’autre.
Pour gérer les sessions déconnectées avec tmux:
- Dans le terminal Linux, téléchargez et installez l’utilitaire tmux en exécutant la commande
sudo zypper install -y tmux
comme indiqué ci-dessous:
Vous pouvez également utiliser YaST pour télécharger l’utilitaire tmux.

La plupart des distributions Linux ont un gestionnaire de paquets en ligne de commande différent. OpenSUSE utilise zypper. Arch utilise pacman. Ubuntu utilise apt. Red Hat utilise dnf et yum. Heureusement, la syntaxe de ces gestionnaires de paquets est assez similaire.
2. Sur votre ordinateur Windows, ouvrez une console PowerShell et connectez-vous en SSH à votre serveur Linux. Ce tutoriel utilisera un nom d’utilisateur homelab et une adresse IP de serveur Linux de 192.168.134.169.
3. Lancez tmux en exécutant la commande tmux
une fois connecté. Vous devriez voir une barre verte en bas
4. Exécutez une commande qui affiche du texte. Peu importe laquelle. Ce tutoriel utilise neofetch. Vous pouvez également exécuter la commande ls
.
5. Déconnectez la session en fermant PowerShell. Cette action simule une déconnexion.
6. Reconnectez-vous à votre serveur Linux en utilisant à nouveau SSH.
7. Réattachez-vous à l’ancienne session en exécutant la commande tmux a
. Vous devriez toujours voir la sortie de la commande ls
précédente. Hourra, aucune perte de données suite à la déconnexion !
Vous pouvez visualiser toutes ces étapes ci-dessus.

Si vous essayez d’exécuter l’utilitaire Midnight Commander à l’intérieur de
tmux
, vous pourriez remarquer que vous n’avez pas le support de la souris. Vous pouvez corriger cela en exécutant plutôtmc -x
.
Activation de tmux à la connexion
Par défaut, tmux ne sera pas disponible dans toutes les sessions SSH. Vous pouvez changer cela en forçant tmux à se rattacher à votre session SSH à chaque fois que vous vous connectez.
En supposant que vous êtes connecté en SSH à votre serveur Linux :
- Ouvrez l’utilitaire midnight commander en utilisant mc.
2. Mettez en surbrillance le fichier .bashrc et appuyez sur modifier.
Le fichier
.bashrc
est un script shell (batch) qui s’exécute à chaque fois que vous vous connectez en ligne de commande
3. Ajoutez le code shell script ci-dessous à la fin du fichier texte.
4. Cliquez sur quitter et enregistrez lorsque vous y êtes invité.
5. Testez la connexion automatique à tmux en vous déconnectant de votre session SSH et en vous reconnectant. Vous devriez obtenir une barre verte en bas automatiquement, indiquant que vous êtes connecté à une session tmux
!
Ce n’est vraiment qu’un aperçu de ce que tmux
peut faire, c’est un programme de multitâche assez puissant. Si vous demandez à un administrateur Linux quelle est sa commande la plus utilisée, c’est probablement tmux
.
Conclusion
Cela conclut le dernier article de la série de billets de blog A Windows Guy in a Linux World. Restez à l’écoute du blog ATA pour le prochain article à venir !