2012-05-16 1 views
3

У меня вопрос о штопоре, который я использую, чтобы заставить SSH работать через HTTP-прокси. SSH отлично работает с внешними хостами, но не для локальных хостов. Как отключить SSH для подключения к локальным серверам через HTTP-прокси? Я предполагаю, что это проблема, почему я получаю:Отключить штопор для локальных адресов

[email protected]:~# ssh [email protected] 
Proxy could not open connnection to 172.XX.XX.8: Forbidden 
ssh_exchange_identification: Connection closed by remote host 

Мой файл/и т.д./SSH/ssh_config содержит:

Host * 
ProxyCommand /usr/bin/corkscrew proxy.ezorg.nl 8080 %h %p 

Заранее спасибо!

ответ

2

Вы можете добавить строки в свой ssh_config, чтобы отключить использование прокси-сервера для определенных хостов. Что-то вроде:

Host *.local host1 host2 host3 
    ProxyCommand none 
5

Прежде всего, вы можете рассмотреть вопрос о создании конфигурации в ~/.ssh/config вместо/и т.д./SSH/ssh_config.

Чтобы просто использовать штопор для некоторых конкретных хостов не использовать звездочку, но список конкретных хостов вместо этого, как:

Host external.com example.com 
ProxyCommand /usr/bin/corkscrew proxy.ezorg.nl 8080 %h %p 

Вы также можете инвертировать шаблон только установить команду прокси при подключении к конкретный хост.

Host !192.168.0.? !*.local 
ProxyCommand /usr/bin/corkscrew proxy.ezorg.nl 8080 %h %p 

будет соответствовать для всех хостов, кроме хостов в 192.168.0.0/24 и хостов внутри .local TLD

+0

могли бы вы мне помочь - http://stackoverflow.com/questions/21600830/ssh-ing -в-удаленный сервер из-за-а-прокси – whatf

0

расширяющейся ответ @Michael Слейда, следующие в ваших .ssh/config работ:

Host localhost 
ProxyCommand none 

Host * 
ProxyCommand corkscrew proxy.com .... 

Только первое вхождение параметра считывается ssh.

0

Спасибо всем за помощь. На свистящих это не решало localhost (я не могу найти, почему), но работал отлично с:

Host 127.0.0.1 
ProxyCommand none 

Host * 
ProxyCommand /usr/bin/corkscrew <proxy> <proxyport> %h %p