linux @ 05 Сентябрь 2008
В общем меня стало несколько напрягать постоянно вводит root@.... и так далее, чтобы подключаться к серверам. Немного погуглив нашёл способ, как можно сделать автодополнение по Tab(аналогичное когда дополняется команда в шелле)
Общий совет - добавить ip сервера в /etc/hosts, в виде:
127.0.0.1 host
Чтобы, например не вводить root@192.168.1.0
а вводить например: root@home.
Согласитесь и выглядит лучше, и запоминается проще.
Шаг второй, установка bash-completition и добавление хостов в .bashrc.
Выглядит это примерно так:
complete -W ' root@vds1 \
root@vds2 \
root@vds3 \
root@vds4 \' ssh

Где, root@vds1 - юзер/хост, а ssh - для какой команды выполнять дополнение.
Шаг третий, дополнительный и несекурный, даже более не секурный, чем 2.
Нужно отредактировать файл:
sudo vim /etc/ssh/ssh_config
и заменить в нём:
HashKnownHosts yes на HashKnownHosts no
И удалить:
rm ~/.ssh/known_hosts
И заново просоединяться по всем вашим парам user@host(чтобы в known_hosts прописались хосты, которые бы не были зашифрованы в md5)
После того как провели подключения(кстати, если уж пошла такая пьянка, то можно добавить и авторизацию по ключам), нужно выполнить команду:
cat ~/.ssh/known_hosts | cut -f1 -d " " | sort
так мы очищаем файл от лишнего(там кстати всё равно образуются md5 хэши), и получаем возможность автодополнения после ssh user@*.
У меня серверов не много, поэтому можно использовать только шаг два, а вот когда и юзеров, и серверов много - тут поможет комбинация второго и третьего шага.

Tags:

1 Response to “Автодополнение хостов в bash”

  1. bappoy Says:

    Я себе для частопосещаемых серверов алиасов назаводил, по именам в hosts или последней цифре IP-адреса:

    alias 152="ssh bpp@192.168.0.152"

    А еще удобно прописывать в hosts фамилии сотрудников, если все логинятся под одним логином. Тогда заходишь под рутом, и система сразу показывает: last login: from Иванов-Петров-Водкин.

Leave a Reply

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)


(обязательно)