Объяснять здесь, что такое ssh-туннель и для чего он нужен, я не буду, об этом можно прочитать в той же Википедии. Могу лишь сказать, что лично я часто использую его для перезагрузки своего домашнего роутера, находясь при этом на работе. Типичный SSH-туннель без перенаправления иксов выглядит примерно так:
ssh -N -p 22 user@myserver.ru -L 8080:localhost:80
Где:
-N
— означает, что не следует выполнять команд на удаленной машине;
-p 22
— подключаться на внешний порт 22, некоторые используют другой порт в качестве мер безопасности;
user@myserver.ru
— имя_пользователя@имя_сервера (или IP-адрес);
-L 8080:localhost:80
— информация о привязке портов, представленная в следующем формате: порт_клиента:имя_сервера:порт_сервера. В данном примере перенаправляется 80-й порт удаленного сервера на 8080-й порт локальной машины.
Для своих целей я использую команду
ssh neblog.info -L 8080:192.168.1.1:80
После чего в браузере перехожу по адресу localhost:8080
, ввожу логин и пароль от интерфейса управления роутером, где могу просматривать статистику, а также выполнять перезагрузку.