Оригинал, написанный Damian Myerscough, выложен на Novell Cool Solutions. Перевод дан ниже, может кому-то и пригодится. Главное, чтоб понятен был.

Проблема:

Имеется машина, расположенная за proxy-сервером и не имеющая доступа к другим машинам по SSH.

Решение:

Использовать утилиту SSH proxy

Окружение:

Эта статья была протестирована на:

  • SUSE Linux Enterprise Desktop 10
  • SUSE Linux Enterprise Server 10
  • SUSE Linux Enterprise Desktop 10 SP1

SSH proxying

В этой статье я собираюсь показать вам, как установить утилиту SSH (Secure Shell) proxy, которая позволит вам перенаправлять сетевые подключения через SOCKS и HTTPS. Утилита очень полезна в том случае, если вы работаете в пределах офиса, в котором запрещены прямые SSH-подключения к хостам за пределами офиса.

Установка

Установка утилиты SSH proxy очень простая. Для устаноки требуется наличие установленного компилятора GCC, так как будет необходимо компилировать исходный код.

Первая задача, которую нам необходимо будет выполнить - проверить, установлены ли пакеты разработки. Запустите “yast sw_single” и найдите пакет GCC, как показано на рисунке.

Компилятор GCC был установлен при установке на моей машине, поэтому показан знак “i” рядом с именем пакета. “i” указывает, что пакет установлен (install), если у вас такого нету, значит пакет не был установлен.

Как только пакет GCC будет установлен, вы можете скачать файл “connect.c” с веб-сайта (http://www.meadowy.org/~gotoh/projects/connect). После загрузки вы можете скомпилировать его, используя команду gcc:

    fsc_nono:~/Desktop # **gcc connect.c -o connect-proxy**

После компиляции файла “connect.c” вы получите испольняемый файл в текущей рабочей директории, называющийся “connect-proxy”. Вам нужно переместить этот бинарный файл в директорию /usr/bin/:

    fsc_nono:~/Desktop **# mv connect-proxy /usr/bin**

Конфигурация

После того, как утилита “connect-proxy” была перемещена в директорию /usr/bin/, вам необходимо создать файл в директории “~/.ssh” и назвать его “config”:

    fsc_nono:~ # **touch ~/.ssh/config**

После создания файла, его необходимо открыть в текстовом редакторе и добавить туда следующее:

    Host *
          ProxyCommand connect-proxy -H 192.168.0.1:81 %h %p

IP-адрес “192.168.0.1:81″ необходимо будет заменить IP-адресом вашего proxy- сервера. Однажды установив эту конфигурацию, вы сможете использовать SSH для подключения к любой машине за пределами вашей сети:

    fsc_nono:~ # **ssh damian@server.outside.network.com**

Это также работает для SFTP (Secure File Transfer Protocol) и SCP (Secure Copy), также как и с любой другой утилитой, которая зависит от SSH.

Заключение

Утилита SSH proxy - очень полезный инструмент, так как позволяет администраторам использовать SSH-подключения к другим машинам за пределами своей сети через proxy. Пользователи, возможно, также найдут эту утилиту полезной, так как она позволяет переносить файлы с одной машины на другую, используя SFTP и SCP. Я рекомендовал бы прочитать документацию по этой утилите на сайте (http://www.meadowy.org/~gotoh/projects/connect), так как там показано, как использовать ее в полной мере.