Назад | Перейти на главную страницу

Использование ssh и corkscrew / proxychains за HTTP-прокси

Коробка Ubuntu, на которую я смотрю, находится за прокси-сервером, который поддерживает подключение к портам 80/443. Я установил внешний ssh-сервер на порт 443 и могу без проблем подключиться к нему с помощью corkscrew / ssh

ssh_config:

Host *
    ProxyCommand corkscrew corp.proxy.ip 8080 %h %p 

командная строка для запуска ssd:

ssh -D 1080 username@external-host.com -p 443

Как я уже сказал, все работает нормально. Проблема в том, что параметр -D, который должен открывать прокси-сервер SOCKS, не совсем работает.

Когда я запускаю прокси-цепочки, я получаю следующее:

 user@laptop:$ proxychains git pull
 ProxyChains-3.1 (http://proxychains.sf.net)
 random chain (1):....127.0.0.1:1080....can't connect to..corp.proxy.ip:8080

Так что, похоже, по какой-то причине он снова инициирует соединение с прокси.

Подобная настройка отлично работает на машине с Windows (Bitvise Tunneller / Freecap), все туннелирование работает нормально.

Я пробовал это:

  1. запустил ssh с -D, имея прокси в конфиге
  2. прокомментировал прокси, пока (1) все еще работает
  3. запустил прокси

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

Итак, есть идеи, как правильно исправить?

Спасибо!

В конце концов, решение довольно простое: сделать так, чтобы ssh подключался к прокси ТОЛЬКО тогда, когда ему впервые нужно установить туннель:

ssh_config:

Host external-host.com
    ProxyCommand corkscrew corp.proxy.ip 8080 %h %p

Это здорово работает.

Всем спасибо за просмотр :)