Qu'est-ce que SSH ?
Secure Shell (SSH) est un protocole et une interface de commandes pour un accès sécurisé à un ordinateur distant. Les administrateurs réseau l'utilisent largement pour gérer à distance des serveurs web et d'autres serveurs. Les données et les commandes transmises par SSH sont chiffrées et protégées de plusieurs façons. Les deux extrémités de la connexion client/serveur sont authentifiées par un certificat numérique, et les mots de passe sont chiffrés. Pour interroger le serveur via Secure Shell, le démon SSH (l'application ou le service serveur) doit y être installé et en cours d'exécution.
SSH sous Windows
Par défaut, SSH est disponible sur les systèmes de type UNIX. Vous pouvez aussi vous connecter à un serveur Windows via SSH. Plusieurs serveurs SSH pour Windows sont répandus. Cygwin, par exemple, s'installe comme un service. Parmi les clients SSH pour Windows, PuTTY se distingue par une interface claire et de nombreuses fonctions, dont la configuration de serveurs proxy et l'enregistrement des paramètres de connexion. À partir de Windows 10 (version 1809 et suivantes) ou de Windows Server 2019, un client OpenSSH intégré permet de se connecter à des équipements distants. Vous pouvez l'installer dans Applications et fonctionnalités :
- Paramètres -> Applications -> Fonctionnalités facultatives -> Ajouter une fonctionnalité.
- Trouvez Client OpenSSH dans la liste et cliquez sur Installer.
Pour vous connecter à un hôte distant via SSH, ouvrez PowerShell ou cmd.exe. Saisissez la commande :
ssh utilisateur@hote
Par exemple, pour vous connecter en root à un hôte Linux d'adresse IP 192.168.1.100 :
ssh root@192.168.1.100
À la première connexion, le système vous demande d'ajouter la clé de l'hôte aux hôtes de confiance : saisissez yes et appuyez sur Entrée. Le mot de passe du compte est ensuite demandé. Saisissez le mot de passe root et appuyez sur Entrée. La console de l'hôte Linux distant s'ouvre : vous pouvez y travailler et y exécuter des commandes.
Surveiller les paramètres d'un hôte via SSH
Avec SSH, vous pouvez surveiller de nombreux paramètres d'un hôte distant sous Linux, Android ou un autre système de type *nix. SSH permet de piloter le système d'exploitation à distance, notamment d'exécuter des scripts et d'obtenir des informations. Via une connexion SSH, le programme de surveillance peut lancer des scripts et des commandes du système, puis recevoir et traiter leur résultat.
Voici comment configurer la surveillance SSH dans 10-Strike Network Monitor (Pro).
Après l'installation, vous pouvez analyser le réseau et ajouter les hôtes trouvés à la liste de surveillance, ou les créer à la main. Ajoutez un hôte Linux (Hôtes -> Ajouter un hôte) :
Par défaut, un contrôle de ping ICMP est créé pour chaque nouvel hôte, afin d'en surveiller la disponibilité sur le réseau. Créons un second contrôle pour surveiller SSH (Contrôles -> Ajouter un contrôle) :
Le programme propose déjà plusieurs modèles pour configurer le contrôle :
- surveillance de la mémoire RAM libre ou utilisée ;
- surveillance de la charge CPU moyenne sur 1, 5 et 15 minutes (CPU Load) ;
- surveillance de l'espace libre sur les disques indiqués.
Pour d'autres paramètres, vous pouvez utiliser des commandes et des scripts bash exécutés sur l'ordinateur distant, qui renvoient les valeurs au programme via SSH. Par exemple, la commande
cat /proc/15410/status |grep -i VMSIZE | awk '{print "result=",$2}'
permet d'obtenir la mémoire occupée par le processus de PID 15410. Le bouton Lire vérifie le fonctionnement du script ou de la commande. Si la requête réussit, le champ voisin se remplit du résultat.
La réponse d'un script ou d'une commande doit commencer par la ligne
result=
Utilisez cette syntaxe :
| awk '{print "result=",$1}'
$1 est le numéro du paramètre renvoyé dans la réponse.
Dans l'exemple :
/bin/date "+%F %T" | awk '{print "result=",$1}'
$1 renvoie la date, $2 renvoie l'heure.
Si le paramètre est numérique, la commande ou le script ne doit renvoyer que le paramètre, sans lignes ni commentaires autour. Outre les valeurs numériques, le programme peut analyser des lignes et y chercher un texte donné. Indiquez le seuil à partir duquel le contrôle est considéré comme réussi.
Pour se connecter en SSH, l'hôte distant peut exiger un fichier de clé privée. Vous pouvez l'ajouter dans le champ prévu. Certains serveurs SSH sont aussi exigeants sur le nom du terminal et peuvent renvoyer l'erreur « Unknown terminal type » à la connexion. Indiquez alors le nom du terminal dans les paramètres du programme (section Surveillance). Sous Linux, la commande echo $TERM affiche ce nom.
Après avoir vérifié le script ou la commande, passez à l'étape suivante de l'assistant de paramètres de surveillance. Dans la section Afficher sur les graphiques, vous pouvez convertir la valeur reçue dans l'unité voulue. Ici, nous convertissons des kilo-octets en mégaoctets en divisant par 1024. Vous pouvez aussi y choisir le type d'indicateur.
À la dernière étape, définissez les alertes si la valeur sort de la condition. Vous pouvez par exemple envoyer un message vers Slack.
Cliquez sur Terminer.
Le contrôle est créé et déjà en cours d'exécution. Son résultat apparaît dans la liste des contrôles (exemple d'espace disque libre ci-dessous).
Vous pouvez aussi afficher le graphique du paramètre surveillé (exemple de charge CPU moyenne ci-dessous) :
Ce contrôle peut surveiller tout appareil Android, dès lors qu'un serveur SSH peut y être installé. Le programme surveille par exemple, via Wi-Fi, des smartphones de marques courantes après l'installation d'un serveur SSH depuis Google Play.
Configuration requise : Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 pris en charge.








