Решение проблемы основывается на одном из основных свойств ssh: переназначение портов
Существует много различных вариаций на эту тему, зависящих от необходимой вам настройки почты. Все они требуют ssh, который можно найти по адресу http://www.ssh.fi/ и его зеркалах. RPM-вариант находится по адресу ftp://ftp.replay.com/pub/crypto/ , а Debian-пакеты находятся по адресу ftp://non-us.debian.org/debian-non-US/ (и его глубоко уважаемых зеркалах).
Чтобы включить переназначение портов, запустите следующую команду:
ssh -C -f popserver -L 11110:popserver:110 sleep 5 |
Давайте подробнее разберем содержимое этой команды:
Собственно программа ssh - та самая волшебная программа, которая все и делает.
Опция, включающая компрессию потока данных. Это необязательный параметр, но достаточно полезный, особенно для пользователей, соединяющихся по телефонным линиям.
После того, как ssh выполнит авторизацию и настроит переназначение портов, указываем ему режим работы - фоновый, чтобы иметь возможность запускать другие программы. Так как мы используем лишь функцию переназначения портов ssh, то нам абсолютно не нужен выделенный ему терминал.
Адрес POP-сервера, к которому мы подключаемся.
Переназначить локальный порт 11110 на порт 110 на удаленном сервере popserver. Мы используем большое число (11110), чтобы любой пользователь мог использовать переназначение.
После того, как ssh перейдет в фоновый режим, он запускает команду. Мы используем sleep, чтобы соединение поддерживалось достаточное для установки почтового соединения время. 5 секунд обычно бывает достаточно.
Вы также можете использовать другие опции ssh, если это необходимо. Обычно бывает нужно еще имя пользователя, так как оно может различаться на разных POP-серверах.
Для этого обязательно на сервере popserver должен быть запущен sshd. Однако, вам не обязательно на нем иметь стандартный вход в оболочку. Времени, за которое выводится сообщение "Вы не можете использовать команду telnet на этот сервер" обычно бывает достаточно для установки почтового соединения.
После того как вы полностью определитесь с параметрами команды, запускающей переназначение портов, вы можете ее испытать. Например:
$ ssh -C -f msingh@popserver -L 11110:popserver:110 sleep 1000 |
popserver - это наш POP-сервер. На моей локальной машине имя пользователя - manish, поэтому я должен отдельно указывать имя msingh, то есть то, которое имею на сервере. (Если ваше локальное имя и имя на сервере совпадают, то часть вида msingh@ необязательна).
Затем эта команда выводит:
msingh@popserver's password: |
Я набираю свой пароль для POP (ваши пароли для системы и POP могут различаться, поэтому используйте системный пароль). Теперь у нас все настроено! Испытаем нашу систему:
$ telnet localhost 11110 |
и мы должны увидеть примерно следующее:
QUALCOMM POP v3.33 ready. |
Ура! Все работает! Данные, передаваемые по сети, шифруются, и единственное место, где присутствует нешифрованный текст - это внутри сервера и моей машины.