Con un nc compatibile OpenBSD, aggiungi questa voce host alla configurazione del client SSH, ad esempio ~/.ssh/config:

Host work-through-proxy
    HostName ssh.example.com
    User alex
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

Usa ssh work-through-proxy per quel percorso. L'helper chiede al proxy HTTP un CONNECT verso ssh.example.com e passa il flusso accettato a SSH. Puntare SSH direttamente alla porta del proxy invierebbe la stretta di mano a un servizio che aspetta HTTP.

Sostituisci endpoint, destinazione e account. Per una destinazione SSH raggiungibile pubblicamente dove è consentito un intermediario pubblico, l'elenco dei proxy HTTP offre candidati per verificare l'accesso a quell'host e porta; scegli un endpoint che non richieda un account proxy per il comando mostrato. Queste opzioni OpenBSD nc dipendono dall'implementazione; un altro eseguibile chiamato nc potrebbe non supportarle.

Il proxy può richiedere un proprio accesso o negare la porta SSH richiesta. Un 407 riguarda quello scambio con il proxy. Una volta aperto il tunnel, SSH verifica ancora l'host di destinazione e autentica il suo utente; una chiave SSH rifiutata è un altro errore.

Mantieni il ProxyCommand nella sezione Host prevista e, quando serve, usa il percorso di autenticazione proxy supportato dall'helper scelto. Il comando fornisce un flusso, non un permesso attraverso l'intermediario. Se sono consentite solo destinazioni HTTPS, ottieni un accordo di accesso SSH approvato invece di supporre che un'altra scrittura del comando cambi la politica.

Articoli correlati