Připojení SSH přes HTTP proxy
Přeneste SSH připojení přes existující HTTP CONNECT proxy pomocí ProxyCommand pro každý host.
S nc kompatibilním s OpenBSD přidejte tento záznam hostitele do konfigurace SSH klienta, například ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pPro tuto cestu použijte ssh work-through-proxy. Pomocník požádá HTTP proxy o CONNECT na ssh.example.com a přijatý proud předá SSH. Kdyby SSH mířilo přímo na port proxy, jeho handshake by šlo službě, která očekává HTTP.
Nahraďte koncový bod, cíl a účet. Pro veřejně dostupný cíl SSH, kde je povolen veřejný prostředník, seznam HTTP proxy nabízí kandidáty k ověření přístupu k danému hostiteli a portu; vyberte koncový bod, který pro uvedený příkaz nevyžaduje účet proxy. Tyto volby OpenBSD nc závisí na implementaci; jiný spustitelný soubor jménem nc je nemusí podporovat.
Proxy může vyžadovat vlastní přihlášení nebo odmítnout požadovaný port SSH. 407 se týká právě této výměny s proxy. Po otevření tunelu SSH stále ověřuje cílového hostitele a autentizuje jeho uživatele; odmítnutý klíč SSH je jiná chyba.
Udržujte ProxyCommand v zamýšlené sekci Host a v případě potřeby použijte cestu ověření proxy, kterou zvolený pomocník podporuje. Příkaz poskytuje proud, ne oprávnění přes prostředníka. Pokud jsou povoleny jen cíle HTTPS, získejte schválené uspořádání přístupu SSH, místo abyste předpokládali, že jiný zápis příkazu změní politiku.