2014-09-17

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

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

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

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



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

9 комментариев: ответить

17.09.2014, 15:50   Vladimir Dolzhenko комментирует...

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

17.09.2014, 15:57   Anton Yakutovich комментирует...

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

17.09.2014, 16:34   EKrava комментирует...


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

17.09.2014, 16:35   EKrava комментирует...

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

17.09.2014, 16:36   Vladimir Dolzhenko комментирует...

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

17.09.2014, 20:23   Anton Yakutovich комментирует...

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

18.09.2014, 17:51   Константин Хомутов комментирует...

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

18.09.2014, 17:52   Константин Хомутов комментирует...

Я имею в виду http://unix.stackexchange.com/q/96510/43156

24.09.2014, 18:07   Anton Yakutovich комментирует...

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

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

Отправить комментарий