SSH port forwarding

Проброс портов по ssh — то, что должен знать каждый уважающий себя админ. Суть вопроса в следущем:
Допустим у вас есть сервер с unix (на цисках и прочих девайсах поддерживающих ssh не проверял), назовем его узел А, а есть еще один компьютер, назовем его узел Б.

Как можно использовать ssh канал?

1. Консоль. С этим все знакомы.
2. scp (или если использовать PuTTY pscp) — копирование файлов с узла А на узел Б и обратно через секурный туннель.
3. Проброс портов с одного узла на другой.

Предполагаю, что первые два варианта всем известны и понятны, поэтому их рассматривать не буду.
Собственно порт форвардинг: вариант первый — на сервере есть интернет, и есть желание его заюзать на другом компе, при этом мутить прокси нет желаниявозможности.

Все просто, в PuTTY (если под виндой), или в опциях ssh (это в линукс), делаем:

затем как обычно соединяемся с хостом, вводим логинпароль…. и все! С этого момента у вас на порту 8080 висит socks прокся. Теперь указываем в огнелисе в качестве прокси localhost:8080

и весь траффик огнелиса пойдет по шифрованному каналу через ssh сервер.

Там же, в Putty рядом с туннелем, зоркий глаз вероятно заметил X11, и как нетрудно догадаться, протокол ssh подволяет пробрасывать траффик X сервера. Эту функцию обьясню на примере линуксового ssh клиента.

Допустим узел А — линукс сервер с ssh и запущенным X11 сервером, узел Б — рабочая станция с линуксом.
на узле Б в консоли пишем ssh -X ип.адрес.узла.Б, жмем enter и попадаем в консоль сервера. Но теперь это не просто консоль, фокус в том, что если вы запустите в ней, например mplayer, то на вашей рабочей станции (узле Б), появится окно mplayer, но при этом, запущен плеер будет на сервере (узел А), и соответственно ресурсы он будет с сервера хавать, а на рабочей станции только отрисовывать окно и его содержимое.

Т.е. возвращаясь к варианту с проксированием инета, можно так запустить firefox и необходимость в проксировании отпадет, т.к. браузер будет выполняться на сервере, и инет он будет серверный хавать.

Что бы то же самое сделать под виндой, вам потребуется чтото вроде CygWin/X или како — то другой X сервер под винду. В остальном же все будет так же. Т.е. под виндой будет отображаться окно запущенной на линуксе программы.

В общем ssh достаточно интересная штука, гугль про нее много знает, если что.
Но если есть вопросы, спрашивайте, по возможности отвечу.

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

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