Diskstation - Modifier le prompt de la console SSH

Si vous voulez accéder à votre Disktation depuis une console SSH pour pouvoir modifier des paramètres dans le cœur du serveur (ex : installation de packages, modification de cron, ...), il vous suffit d'activer le service SSH (voir plus bas). Pour vous connecter depuis un terminal, exécuter la commande ssh root@ip_du_disktation (pour se loguer directement sur le compte root). Le mot de passe est le même que celui de l'utilisateur admin.

Lorsque vous accéder au Diskstation via la console SSH, vous vous trouvez sur le shell Ash (très minimaliste mais léger).

Le problème est lorsque vous vous déplacer dans les dossiers via la commande cd (Change Directory), le prompt de base étant Diskstation > (dans mon cas) ou nom_du_serveur >, vous ne voyez pas dans quel dossier vous vous trouvez.

En effet le modèle du prompt est stockée dans la variable PS1, qui est définie au démarrage dans le fichier /etc/profile et qui n'est pas actualisée. Le prompt par défaut est définie comme PS1="`hostname` > ".

En voici l'exemple : disktation_console_ssh_prompt_initial

Modifier le modèle du prompt

En fait nous allons redéfinir la fonction cd (Change Directory). Pour cela :

  1. Editez le fichier /etc/profile via la commande vi /etc/profile.
  2. Commentez la ligne PS1="`hostname` > " en ajoutant devant un "#"; cela donnera #PS1="`hostname` > ". Pour cela, déplacer vous avec le touche de direction sur le début de la ligne, puis passer en mode insertion en appuyant sur "i".
  3. Ajoutez la ligne suivante à la fin du fichier : cd() { chdir "$@" ; PS1="`whoami` @ `hostname` `pwd`$ " ;} pour avoir un prompt identique à bash (avec whoami : le nom d'utilisateur en cours, hostname : le nom du serveur et pwd : le chemin du répertoire courant). Pour cela, mettez vous sur la dernière ligne et taper sur la touche Entrée, puis insérer la commande.
  4. Enregistrez et fermez le fichier via la commande ":qw" (à taper directement).
  5. Déconnectez vous de ssh en tapant exit et reconnectez vous.

Et voici le résultat : diskstation_console_ssh_prompt_modifie

RAPPEL : Activer le service SSH

Pour accéder au serveur Synology via SSH, il faut activer le service. Connecter vous à l'interface web Diskstation Manager puis accéder au menu Services Réseau > Terminal pour activer le service terminal. diskstation_activer_ssh Puis cocher Activer le service SSH.

Pour en savoir plus

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://mathdatech.fr/?trackback/23

Fil des commentaires de ce billet