Ligar SSH através de um proxy HTTP
Leve uma ligação SSH por um proxy HTTP CONNECT existente com um ProxyCommand por anfitrião.
Com um nc compatível com OpenBSD, adicione esta entrada de anfitrião à configuração do cliente SSH, por exemplo ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pUse ssh work-through-proxy para essa rota. O auxiliar pede ao proxy HTTP um CONNECT para ssh.example.com e passa o fluxo aceite ao SSH. Apontar o SSH diretamente para a porta do proxy enviaria o handshake para um serviço que espera HTTP.
Substitua o endpoint, o destino e a conta. Para um destino SSH acessível publicamente onde é permitido um intermediário público, a lista de proxies HTTP oferece candidatos para verificar o acesso a esse anfitrião e porta; escolha um endpoint que não exija conta de proxy para o comando mostrado. Estas opções OpenBSD nc dependem da implementação; outro executável chamado nc pode não as suportar.
O proxy pode exigir o seu próprio início de sessão ou negar a porta SSH pedida. Um 407 diz respeito a essa troca com o proxy. Depois de o túnel abrir, o SSH continua a verificar o anfitrião de destino e a autenticar o utilizador; uma chave SSH rejeitada é outra falha.
Mantenha o ProxyCommand sob a secção Host pretendida e, quando necessário, use o caminho de autenticação de proxy suportado pelo auxiliar escolhido. O comando fornece um fluxo, não permissão através do intermediário. Se apenas forem permitidos destinos HTTPS, obtenha um acordo de acesso SSH aprovado em vez de assumir que outra grafia do comando altera a política.