~/.ssh/config TAB autocomplite

Хоча я успішно зібрав PAC Manager і він навіть працює, складно вважати це гарним рішенням. Тим більше, перед цим мені довелося викручуватись, і зараз я бачу все я робив вірно. А що саме я робив не соромно і описати детальніше

~/.ssh/config

Це користувацький файл налаштувань ssh-клієнта. Якщо ви вважаєте що замісь ssh -C root@192.168.192.1 краще писати щось на зразок ssh gw, то читайте далі. Цей файл нам якраз допоможе.
Ось гіпотетичний зразок ~/.ssh/config

Host *
User yudjin
Compression yes
ServerAliveInterval 120
 
Host gw
        Hostname 192.168.192.1
        User root
        Compression no
 
Host nas
        Hostname 192.168.192.20
 
Host graphit
        Hostname 192.168.192.21
 
Host sulacko
        Hostname 192.168.192.22

Тут є кілька блоків Host. Перший має назву *, тому описані у ньому налаштування будуть застосовані до ssh при підключенні до усіх хостів, які не описані у ~/.ssh/config. Так, команда ssh -C yudjin@yudjin.name буде еквівалентною ssh yudjin.name. Користувач та компресія диктуються ~/.ssh/config, а саме першим блоком Host *.
ServerAliveInterval 120 говорить про те, що не хочу щоб сесії відвалювалися коли я піду пити чай.
Кожен наступний блок створює псевдонім підключення. До псевдоніму підв’язується справжнє ім’я хосту і комплект специфічних налаштувань. На приклад щоб зайти на 192.168.192.20 достатньо написати ssh nas. Тут має виникнути питання навіщо я задав такі довгі аліаси у наступних двох блоках, адже можна було написати щось на зразок ‘Host gr’ і ‘Host su’. На справді, як я вже казав, ssh сесій можуть бути сотні, а тоді короткі аліаси викликають плутанину, крім того можна не вводити їх повністю. Чому? – autocomplete!

TAB autocomplete

Задача добивати табом аліаси, якщо вони вводяться після команди ssh. Аліаси брати з ~/.ssh/config. Готового рішення я не знайшов, знайшов інші. А ось моє:

complete -W "$(echo `cat ~/.ssh/config | grep 'Host ' | cut -f2 | uniq | grep -v "\["`;)" ssh scp

Цей скрипт вставляємо у ~/.bashrc

source ~/.bashrc

і все працює.

Посилання

~/.ssh/config TAB autocomplite

Полювання на аліаси до vk.com

Ви адміністратор і потрібно заблокувати доступ до популярних соціальних мереж з корпоративної мережі? Можна по імені домену на фаєрволі. Чи на корпоративному DNS-сервері? Сьогодні помітив що все не дуже просто, бо для vk.com існує багато псевдонімів. Поверхневе гугління показало, що актуального списку їх у одному місці нема, тому спробую такий створити і підтримувати. Першу пачку знайшов тут. Ще кілька пошуковими системами по індексованому профілю людини. А ще через годину я знайшов звідки ця зараза лізе. Ось упорядкований по алфавіту список, станом на 08.04.2012. Буде оновлюватись.
5g7.ru/2
76e.ru/2
anonimvk.ru
dayvrema.ru
exeway.ru/2
golosuysuy.ru
hotaccess.ru/2
hunthead.ru
nabanke.ru
navalivay.ru
NetBana.ru
nevtakt.ru
prolezu.ru
qt1.ru/2
vkkv.ru
vkontakte.ru
vkontakteda.ru
vkontaktno.ru
vkontaktui.ru
vkontaktus.ru
vkontapke.ru
vkooontakte.ru
voffe.ru
waygo.ru/2

Хто вважає його не повним – має можливість доповнити через коментарі.

Полювання на аліаси до vk.com