2014-09-17

SSH с выбором хостов из списка

Посвящается всем, у кого больше пяти серверов.

Как вы обычно заходите на сервер по ssh? Открываете терминал, начинаете искать в истории набранных команд (Ctrl+R) заветную строчку с нужным хостом. Если хостов много, процесс будет длительным, как ни крути.

На гитхабе появился полезный bash-скрипт под названием warp. Он создан для решения этой проблемы.



После запуска команды в VIM'е открывается файл (~/.warp) со списком хостов. Перемещаем курсор на нужную строку, жмём ENTER, открывается SSH для первой колонки (awk '{print $1}'). Это позволяет в одной строке с именем тачки хранить комментарии. Гениально и просто. Отличный пример UNIX-way.

8 комментариев:

  1. Зачем ? Почему не ~/.ssh/config ?

    ОтветитьУдалить
  2. @Vladimir Dolzhenko
    А как конфиг ssh решит проблему с количеством серверов? Прописать алиасы можно, но warp не об этом. Он позволяет в «интерактивном» режиме выбрать нужный хост из списка.

    ОтветитьУдалить

  3. Host openwrt
    Hostname 192.168.1.1
    User root
    Compression yes
    CompressionLevel 9
    KeepAlive no
    --
    по ssh выводится список хостов из config вполне себе удобно
    зачем для захода куда либо по ssh vim и интерактивность не очень понятно

    ОтветитьУдалить
  4. блин, угловые скобки оно сожрало
    s/по ssh выводится/по ssh TAB TAB выводится/g

    ОтветитьУдалить
  5. Не понимаю причем тут количество серверов ? Автодополнение помогает для решение задачи "интереактивности"

    ОтветитьУдалить
  6. @EKrava, @Vladimir Dolzhenko
    В принципе согласен, для десятка машин такой способ себя оправдывает. Лично мне не хватает структурности в автодополнении. warp с этим спасает.

    ОтветитьУдалить
  7. cat >>~/.inputrc
    "\e[A": history-search-backward
    "\e[B": history-search-forward
    ^D
    $ ssh se ; тут нажимаем стрелку вверх, и оно магически раскрывается до
    $ ssh server.our.domain.com
    и так далее (из истории).

    ОтветитьУдалить
  8. @Константин Хомутов
    ... тут нажимаем стрелку вверх, и оно магически раскрывается до

    Да, есть такой вариант. В oh-my-zsh из коробки доступен.
    Минус этого способа в том, что нужно помнить хотя бы первые буквы имени хоста.

    ОтветитьУдалить