Я работаю в организации, где безопасность на высоте )))
В инете я через прокси. Порты закрыты, всё слушается и читается. Социалки, развлечения и не угодные вырезаны. Ограничение по трафику в гигабайт. Не смотря на то, что мультимедиа вырезана его на месяц совсем не хватает. Самый простой вариант купить 3G модем. Но кто ходит по горам, тот быстрее и по долам )))
Хочу свой прокси, шифрующий и архивирующий трафик.
Можно выйти на этот туалетный сервер с работы по SSH, но я ведь не только работаю, но и живу в организации, где всё читается и слушается. Поэтому есть у меня мыслишка купить хостинг. Об этом позже. А пока буду тренироваться на кошках.
Первое, что делаю, это настраиваю SSH на удалённой машине, которая на свободе, за бугром, на порт 443 вместо стандартного 22. Предварительно, конечно, убеждаюсь, что он (порт) свободен на этой машине. Подразумевается, что мой драконовский фаерволл пропускает 443. Точно открытый порт 80 не использую, так как шифрованный трафик через него будет ну уж слишком подозрителен.
SSH конфигурируется при помощи двух файлов:
/etc/ssh/ssh_config
– это общесистемный файл, и
~/.ssh/config
– это личные настройки пользователя.
Меняю стандартный порт SSH на удалённой машине:
Правлю файл /etc/ssh/sshd_config
Рисую в нём строки:
Port 443
Compression yes
Ciphers blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
После чего перезапускаю sshd
/etc/rc.d/sshd restart
или
killall -1 sshd
Соединяюсь
На рабочей станции запускаю команду:
ssh -p 443 -D 5555 user@$remote -f -N -2 -C -c blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
D 5555 - эмуляция SOCKS сервера через порт 5555 по защищённому каналу (привилегированные порты может перенаправлять только root)
p 443 - использовать порт 443
f - работа в фоне, после аутентификации
N - не запускать shell на удаленном хосте
2 - вторая версия SSH
C - компрессия
c - список способов шифрования по приоритету. На первое место ставлю вроде как
быстрый и надёжный.
Это означает, что локальный SSHD слушает порт 5555 на локальной машине и перенаправляет с компрессией на $remote по защищённому каналу на порт 443. Соответственно, в конфигах SSHD $remote должен быть указан порт 443.
# Ключи имеют приоритет над файлами конфигурации.
В клиенте в качестве
SOCKS-proxy указываю
localhost:5555
Вариант с использованием
PuTTY в картинках на английском расписан
тут и на русском
тут
Ещё почитать можно:
Туннели с использованием SSH. Режим эмуляции Socks proxy в SSH
Создание SOCKS-сервера