logo open ssh

SSH-Manager : un script pour gérer vos connexions SSH

Temps de lecture : 1 minute

Si vous avez comme moi l’habitude de switcher entre plusieurs serveurs SSH, vous devez probablement avoir mis en place une petite routine pour gérer toutes ces connexions. Personnellement, j’avais pris l’habitude d’utiliser de simples alias placés dans le fichier de configuration de mon Shell, mais au fur et à mesure que le nombre de serveurs à gérer augmentait, il devenait difficile pour moi de m’y retrouver.

Je me suis alors mis en quête d’un petit soft qui serait capable de gérer l’ensemble de mes connexions simplement et je suis tombé sur un script bash écrit par Errol Byrd (j’ai malheureusement perdu le lien initial) que j’ai modifié à ma sauce.

SSH-Manager permet :

  • d’ajouter/supprimer des serveurs
  • de se connecter rapidement à un serveur en utilisant un système d’alias
  • de garder un oeil sur la liste des serveurs disponibles
  • de vérifier l’état des serveurs (simple ping)
  • d’exporter sa configuration pour la retrouver sur un autre ordinateur (le script utilise un fichier nommé ssh_servers placé à la racine de votre répertoire personnel)

ssh manager SSH Manager : un script pour gérer vos connexions SSH

Comme c’est un script bash, il fonctionne bien entendu sur Linux et OSX.

Installation du script ssh-manager

On commence par récupérer le script sur Github puis on le rend exécutable.

Pour plus de commodité, vous pouvez créer un alias vers le script :

Utilisation du script ssh-manager

Ajouter un serveur :

Supprimer un serveur :

Se connecter à un serveur :

Voir la liste des serveurs :

Tags :

Réagissez à l'article

  • mike

    Excellent, seul hic les mutualisés OVH ne répondent pas au ping, du coup obtenir la liste prend un temps conséquent. Si je savais comment le modifier j’aurais offert la possibilité de pouvoir désactiver le ping 😉

    • https://twitter.com/robin_parisi Robin

      Salut mike,

      Si j’ai le temps, j’éditerai le script pour offrir un moyen propre de désactiver le ping 🙂

      En attendant, tu peux supprimer la ligne 129

      >> test_host $ip

      • Mike

        Merci beaucoup pour ton aide

      • Mike

        PS : le lien Github dans ton script est HS j’ai l’impression 😉

  • Drick

    Bonjour. Il manque un ” à la fin de la création de l’alias sshfs.

  • Free 4 Funs

    SSH_DEFAULT_PORT=22

    pourrait être remplacé par :

    if [ -f /etc/ssh/sshd_config ];then
    PORTSSH=”cat /etc/ssh/sshd_config | grep Port | awk '{print $2}'
    fi

    • Twootix

      Je vois pas trop l’intérêt, je m’explique.

      Par défault le ssh utilise le port 22, avec ta commande il va juste remplacer 22 par le port que tu utilises sur ton pc pour le SSH, or on aurait plutôt besoin de celui du serveur sur lequel on cherche à se connecter.

      Après si l’idée c’est qu tu utilise le même port sur le pc qui exécute le script et sur tes serveur autant modifier directement la valeur dans le script

  • Twootix

    Salut

    Déjà, merci beaucoup pour le partage !

    J’ai modifié le script car le ping ne fonctionnait pas et donc tous les serveurs apparaissaient [KO], alors que je pouvais les ping depuis la même machine sans problème.

    J’ai trouvé deux “anomalies” dans la fonction : exec_ping

    – ligne 29 : “ping -n 1 -i 2 $@” changé par “ping -n -i 2 $@”

    J’ai juste viré le 1. Là déjà je me demande pourquoi le -n, à priori on cherche juste à savoir si la réponse au ping fonctionne ou non, non ?

    – ligne 32 : “ping -c1 -t 2 $@” changé par “ping -c1 $@”

    Et là j’ai viré -t 2, donc à nouveaux j’ai pas compris ce que voulait faire l’auteur.

    Je précise que je suis un petit noob, qui commence tous juste le bash.