linux @ 05 Сентябрь 2008
В общем меня стало несколько напрягать постоянно вводит root@.... и так далее, чтобы подключаться к серверам. Немного погуглив нашёл способ, как можно сделать автодополнение по Tab(аналогичное когда дополняется команда в шелле)
Общий совет - добавить ip сервера в /etc/hosts, в виде:
Чтобы, например не вводить root@192.168.1.0
а вводить например: root@home.
Согласитесь и выглядит лучше, и запоминается проще.
Шаг второй, установка bash-completition и добавление хостов в .bashrc.
Выглядит это примерно так:
Где, root@vds1 - юзер/хост, а ssh - для какой команды выполнять дополнение.
Шаг третий, дополнительный и несекурный, даже более не секурный, чем 2.
Нужно отредактировать файл:
и заменить в нём:
И удалить:
И заново просоединяться по всем вашим парам user@host(чтобы в known_hosts прописались хосты, которые бы не были зашифрованы в md5)
После того как провели подключения(кстати, если уж пошла такая пьянка, то можно добавить и авторизацию по ключам), нужно выполнить команду:
так мы очищаем файл от лишнего(там кстати всё равно образуются md5 хэши), и получаем возможность автодополнения после ssh user@*.
У меня серверов не много, поэтому можно использовать только шаг два, а вот когда и юзеров, и серверов много - тут поможет комбинация второго и третьего шага.
Общий совет - добавить 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@*.
У меня серверов не много, поэтому можно использовать только шаг два, а вот когда и юзеров, и серверов много - тут поможет комбинация второго и третьего шага.

Сентябрь 5th, 2008 at 16:58
Я себе для частопосещаемых серверов алиасов назаводил, по именам в hosts или последней цифре IP-адреса:
alias 152="ssh bpp@192.168.0.152"
А еще удобно прописывать в hosts фамилии сотрудников, если все логинятся под одним логином. Тогда заходишь под рутом, и система сразу показывает: last login: from Иванов-Петров-Водкин.