SSH-туннель в Mac OS X

SSH!С развитием беспроводных технологий, повсеместно появляются точки доступа в Интернет посредством технологии Wi-Fi: на вокзалах и в аэропортах, в кафетериях и кинотеатрах, в гостиницах и даже в маршрутках, пока вы стоите в пробке неподалёку от какого-нибудь посещаемого места. Достаточно лишь достать из сумки MacBook, выбрать сеть с наилучшим сигналом и вот вы снова можете делать то, что вам нравится. Но так ли безопасны все эти точки доступа? Не «прослушивает» ли какой-либо злоумышленник траффик с целью выудить оттуда важную информацию вроде логинов/паролей, номеров кредитных карт да и вообще, вашей приватной информации?

Хорошо, когда для совершения платежей или передачи какой-то очень важной информации используется защищённое соединение по протоколу HTTPS. Но что делать, если защиты соединения нет, и при этом есть необходимость быть уверенным на 100% в том, что данные, передаваемые через публичные Wi-Fi сети останутся конфидециальными? В этом случае вам поможет организация SSH-туннеля. Всё, что вам потребуется, — SSH-доступ к какому-либо серверу и 5 минут времени.

Для начала стоит подумать о том, где взять SSH-доступ. Тут может быть несколько вариантов:

  • установить собственный сервер с настроенным доступом через SSH в каком-нибудь дата-центре;
  • приобрести недорогой тарифный план на хостинге, предоставляющем доступ к серверам по протоколу SSH;
  • приобрести услугу выделенного IP-адреса у своего провайдера и настроить SSH-сервер дома;

Есть и другие варианты. Как бы там ни было, я не буду заострять внимание на способах получения доступа к какому-либо серверу по SSH, а опишу, как создать и использовать SSH-тунель, в том случае, когда у вас уже есть SSH-доступ к другому компьютеру.

Запустите терминал и выполните в нём следующую команду:

ssh -N -D 9999 user_name@server_address

Рассмотрим подробнее, что делает эта команда:

ssh — запуск утилиты, осуществляющей работу с SSH-сервером
-N — параметр, отвечающий за то, чтобы команды не транслировались на удалённый сервер
-D 9999 — параметр, указывающий, через какой адрес/порт пробрасывать данные

user_name — ваше имя для соединения на удалённом сервере
server_address — собственно, адрес сервера, через который будет происходить туннелирование

Например, в моём случае это будет выглядеть так:

ssh -N -D 9999 rodion@macosxhints.ru

После того, как вы выполните эту команду, вас попросят ввести пароль, соответствующий указанному в соединении пользователю. Как только вы это сделаете (при условии, что введёте правильный пароль), у вас готов SSH-туннель, и теперь можно указывать системе, чтобы трафик шёл не напрямую, через Wi-Fi-соединение, а через созданное вами безопасное соединение.

Запуск SSH-туннеля в терминале Mac OS X

Запустите приложение «Системные настройки» и выберите в нём пункт «Сеть«:

Системные настройки в Mac OS X

В открывшемся окне выберите пункт с вашим беспроводным соединением и нажмите кнопку «Дополнительно«:

Дополнительные настройки соединения

В окне дополнительных настроек выберите вкладку «Прокси«, включите пункт «SOCKS-прокси«, в поле адреса и порта впишите настройки: 127.0.0.1 (адрес вашего внутреннего сетевого интерфейса) и 9999 (порт, указанный при создании SSH-туннеля):

Настройки SOCKS-прокси в Mac OS X

Теперь нажмите кнопку «ОК«, затем «Применить» и теперь ваш беспроводной трафик будет идти через SSH-туннель, что не позволит злоумышленникам его перехватить и прочитать.

Чтобы выключить проксирование, вернитесь к настройкам прокси и отключите пункт «SOCKS-прокси«, после чего подтвердите внесённые изменения, а в терминале с включённым туннелем нажмите комбинацию клавиш Ctrl+C, которая остановит выполнение приложения ssh.

Комментарии 8

  • А можете объяснить почему именно SOCKS-прокси?

  • Потому что он наилучшим образом подходит для данных целей. Другие прокси-сервера (типа HTTP или Gopher или ещё что-то) требуют дополнительной настройки. Тут же описывается быстрое создание прозрачного прокси-сервера для безопасной работы с публичными Wi-Fi точками доступа.

    Подробнее про SOCKS-прокси можете почитать в Википедии.

  • Здорово, что обновляешь и поддерживаешь этот сайт 🙂

  • О, какие люди. Сто лет тебя не слышал 🙂
    Да, стараюсь обновлять, по мере появления свободного времени. Но не всегда удаётся, к сожалению, и часто возникают очень длинные паузы. 🙁

  • ssh: connect to host 192.168.1.2 port 22: Connection refused

    Что я сделал не так?

  • А как мне проверить на своем Mac наличие всех подкл. К точке доступа wifi?
    как быть точным уверенным что ни кто кроме меня не пользуется моей сетью, ни кто не может взять мои файлы общие? Спасибо
    Misha.rus@gmail.com

  • ssh сервер говорит слудующее: channel 3: open failed: administratively prohibited: open failed

  • Rodion, видимо, у Вас не настроен SSH сервер на 1.2 компьютере.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Adblock detector