Se o Ncat já estiver disponível para o Windows OpenSSH, ele pode fornecer a conexão através de um proxy SOCKS5. Adicione uma entrada de host à configuração SSH usada por esse cliente OpenSSH:

Host target-via-socks
    HostName ssh.example
    User user
    ProxyCommand ncat.exe --proxy-type socks5 --proxy proxy.example:1080 %h %p

Substitua ambos os nomes de host e a conta e, em seguida, conecte-se com ssh target-via-socks. Este exemplo pressupõe que o ncat.exe esteja no caminho de pesquisa de executáveis do auxiliar. Caso contrário, use o caminho completo do executável corretamente entre aspas, especialmente quando o diretório contiver espaços.

O ponto de extremidade do proxy vem depois de --proxy. O OpenSSH expande %h e %p para o nome de host e a porta SSH finais. O Ncat negocia a conexão SOCKS e transporta o fluxo de bytes resultante na entrada e saída padrão; o OpenSSH continua o handshake SSH sobre esse fluxo.

O --proxy-type socks5 explícito é importante. Quando essa opção está ausente, o Ncat usa um proxy HTTP por predefinição, mesmo que a porta fornecida seja 1080. Um ouvinte SOCKS não pode inferir que um pedido HTTP CONNECT pretendia ser SOCKS.

Este exemplo pressupõe um ponto de extremidade SOCKS sem autenticação; escolha um candidato da lista de proxies SOCKS5 apenas para um destino SSH público onde essa rota é permitida, e verifique o acesso ao seu host e porta reais. A autenticação do proxy, quando necessária, é separada do início de sessão SSH posterior. Mantenha a verificação da chave de host do destino SSH; chegar a ele através de um auxiliar não altera a identidade que o OpenSSH deve autenticar.

Artigos relacionados