Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2008-05-04

SSH через прокси (proxy)

Или другими словами туннелирование через прокси. Есть разные софтины, позволяющие пробрасывать TCP соединение через proxy, но я сегодня рассмотрю только одно, решающее мою конкретную задачу: я сижу на линуксе (дома), в локальной сети за прокси типа SQUID и мне надо рулить сервером (на работе) используя SSH.

Как это сделать? Легко, устанавливаю программулину Corkscrew. Ну, типа так:


tar -xzvf corkscrew.tar.gz
cd corkscrew
./configure
make
make install

В файле
/home/valik/.ssh/config
пишу такую строку
ProxyCommand /usr/local/bin/corkscrew proxy.home.net 3128 %h %p ~/.ssh/proxyauth
где proxy.home.net - имя компа с прокси, 3128 - порт прокси, ~/.ssh/proxyauth путь к файлу с именем и паролем для прокси.
Содержимое этого файла (/home/valik/.ssh/proxyauth) такого вида
valik:superDuperPass
имя:пароль, понятно, да?
А, собственно, всё.

Дальше набираю заклинание открытия сеанса SSH:
ssh -v -p 22 -i /home/valik/.ssh/keyname.ssh.rsa.pk guest@server.worknet.net
и имею сессию через прокси.

Кстати, если добавить к команде довесок вида
-L 3389:lanhost:3389
то локальный порт 3389 (localhost:3389) пробрасывается прозрачно на машину lanhost (lanhost:3389) в сети сервера к которому я подключился секурным шеллом. Я эту фишку использую для работы с "удаленным рабочим столом" в офисной сети (а сам дома сижу, за прокси).

Убойная технология, практически VPN, да еще через прокси!

Оригиналы, с которых я это замутил:
Updated:
Не забыть в SQUID разрешить соединения методом CONNECT для нужных портов. У себя я это сделал просто, закомментировал запрет соединений на "не безопасные" порты:

# Deny CONNECT to other than SSL ports
#http_access deny CONNECT !SSL_ports

Комментариев нет:

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

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)