Come posso utilizzare SSH con un proxy SOCKS 5?

Non so molto circa i proxy in generale, e specialmente i SOCKS5 proxy, quindi spiacenti se questa è una domanda newbie ma non sono stato in grado di trovare la risposta in linea o nelle pagine man.

Ho un proxy SOCKS5 impostato tramite PuTTY con la port 7777 configurata come port dynamic. Posso usare firefox / filezilla / etc configurandoli per usare un proxy SOCKS con localhost e port 7777 . Ma non riesco a capire come ssh (tramite Cygwin) ad un server remoto utilizzando la port dynamic. È ansible?

Ho provato a utilizzare ProxyCommand tramite il seguente metodo.

  1. Creare ~/.ssh/config con la seguente row:

     ProxyCommand /usr/bin/nc -X connect -x 127.0.0.1:7777 %h %p 
  2. Esegui ssh -p22 user @ remotehost

Il messaggio che ricevi è ssh_exchange_identification: Connection closed by remote host

Stai usando 'connect' per HTTPS come versione proxy, questo è da man nc:

-X proxy_version Richiede che nc deve utilizzare il protocollo specificato quando si parla al server proxy. I protocolli supportti sono '' 4 '' (SOCKS v.4), '' 5 '' (SOCKS v.5) e 'connect' (proxy HTTPS). Se il protocollo non è specificato, viene utilizzato SOCKS versione 5.

Per utilizzare SOCKS 5 è necessario utilizzare quanto segue:

 ProxyCommand /usr/bin/nc -X 5 -x 127.0.0.1:7777 %h %p 

O semplicemente:

 ProxyCommand /usr/bin/nc -x 127.0.0.1:7777 %h %p 

Spero possa essere d'aiuto.

 ssh -o ProxyCommand='nc --proxy-type socks4 --proxy 127.0.0.1:9050 %h %p' [email protected] 

fc19 x86_64, Ncat: Versione 6.25

tsocks ( http://tsocks.sourceforge.net/ ) è un bel wrapper che utilizza LD_PRELOAD per rendere qualsiasi programma utilizzare il proxy SOCKS in modo trasparente:

 tsocks ssh example.com 

Funziona solo, ricorda di configurare IP proxy SOCKS in /etc/tsocks.conf