Консольный менеджер ssh сессий

Когда количество серверов начинает зашкаливать, возникает необходимость их организовать. Каждый раз забивать ip адрес нет никакого желания, особенно если делаешь это по 50 раз за день. К сожалению функции стандартного Терминал-а мне не подошли, так как времени на открытие новой сессии через стандартное меню уйдет даже больше, чем если набирать «ssh root@192.168.0.1 -p3322». За насколько минут я написал небольшой скрипт, который выводит список серверов с возможностью выбора к какому нужно подключиться. Выглядит это примерно так:

servers

В данном примере если сервер выбран из подсети 192.173.0. — подключение будет по порту 3322. Сам скрипт, который вы можете доработать по своему желанию такой:

Когда количество серверов начинает зашкаливать, возникает необходимость их организовать. Каждый раз забивать ip адрес нет никакого желания, особенно если делаешь это по 50 раз за день. К сожалению функции стандартного Терминал-а мне не подошли, так как времени на открытие новой сессии через стандартное меню уйдет даже больше, чем если набирать «ssh root@192.168.0.1 -p3322». За насколько минут я написал небольшой скрипт, который выводит список серверов с возможностью выбора к какому нужно подключиться. Выглядит это примерно так:

servers

В данном примере если сервер выбран из подсети 192.173.0. — подключение будет по порту 3322. Сам скрипт, который вы можете доработать по своему желанию такой:

3 комментария к “Консольный менеджер ssh сессий

  1. Тут лучше использовать .ssh/config

    Будет автодополнения работать + можно использовать в скриптах доступ по короткому имени.

  2. В дополнение к комментарию Рустама:

    $ cat .bash_profile
    complete -o default -o nospace -W «$(/usr/bin/env ruby -ne ‘puts $_.split(/[,\s]+/)[1..-1].reject{|host| host.match(/\*|\?/)} if $_.match(/^\s*Host\s+/);’ < $HOME/.ssh/config)" scp sftp ssh rsync

Оставить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *