Suppression bannière SSH DD-WRT

Dans le cadre de scripts d’automatisation que je suis en train de préparer, j’exécute des commandes SSH à distance sur mon routeur WIFI piloté par DD-WRT. Ceci peut être utile pour la domotique par exemple, ou le monitoring de l’activité Wifi.

Pour ceux qui ne le connaissent pas, DD-WRT est un firmware Open Source pour routeur. A la base, il a été créé pour remplacer le firmware des WRT-54G de Linksys. Puis il s’est étendu à tout une liste de routeurs dont on retrouve la base de donnée sur le site dédié. On trouve des firmwares similaires tels que Open-WRT, ou Tomato. Tous ont leurs avantages, leurs inconvénients. J’ai choisi DD-WRT depuis plusieurs années.

Pour revenir à ma problématique, malheureusement celui-ci génère une bannière SSH à chaque démarrage sous /tmp/loginprompt. Du coup, à chaque commande SSH à distance, le résultat commence par deux lignes de ce type:

DD-WRT v3.0-r27506 std (c) 2015 NewMedia-NET GmbH
Release: 07/09/15

Gênant quand l’objectif est de retourner une valeur unique dans une variable. Et il ne suffit pas de modifier le fichier /tmp/loginprompt pour s’en débarrasser, comme celui-ci est généré depuis la NVRAM à chaque redémarrage. Après de longues recherches, j’ai trouvé un moyen plutôt simple à mettre en œuvre pour supprimer celle-ci.

Pour se faire, il faut se rendre dans l’interface Web de DD-WRT, puis sous l’onglet « Administration » => « Commands », entrer la séquence suivante. Celle-ci va supprimer le fichier de bannière, recréer un fichier vide, et redémarrer le service sshd.

rm -f /tmp/loginprompt
touch /tmp/loginprompt
stopservice sshd
startservice sshd

Ensuite, il suffit de cliquer sur « Save startup ». La séquence sera alors exécutée à chaque démarrage, après la génération du fichier.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *