web-dev-qa-db-fra.com

Comment utiliser SSH avec un proxy SOCKS 5?

J'ai un proxy SOCKS5 configuré via PuTTY avec le port 7777 configuré en tant que port dynamique. Je peux utiliser firefox/filezilla/etc en les configurant pour utiliser un proxy SOCKS avec localhost et le port 7777. Mais je ne peux pas comprendre comment ssh (via Cygwin) sur un serveur distant en utilisant le port dynamique. Est-ce possible?

J'ai essayé d'utiliser ProxyCommand via la méthode suivante.

  1. Créez ~/.ssh/config avec la ligne suivante:

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

Le message que je reçois est ssh_exchange_identification: Connection closed by remote Host

31
Rusty Lemur

Vous utilisez 'connect' pour HTTPS comme version de proxy, cela provient de man nc:

-X proxy_version Demande à nc d'utiliser le protocole spécifié lors d'une conversation avec le serveur proxy. Les protocoles pris en charge sont "4" (SOCKS v.4), "5" (SOCKS v.5) et "connect" (proxy HTTPS). Si le protocole n'est pas spécifié, la version 5 de SOCKS est utilisée.

Vous devez donc utiliser ce qui suit pour utiliser SOCKS 5:

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

Ou simplement:

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

J'espère que ça aide.

28
Saman Barghi
ssh -o ProxyCommand='nc --proxy-type socks4 --proxy 127.0.0.1:9050 %h %p' user@Host

fc19 x86_64, Ncat: Version 6.25

10
user264910

tsocks ( http://tsocks.sourceforge.net/ ) est un wrapper de Nice utilisant LD_PRELOAD. pour que tout programme utilise le proxy SOCKS de manière transparente:

tsocks ssh example.com

Cela fonctionne simplement, pensez à configurer l’adresse IP du proxy SOCKS dans /etc/tsocks.conf

3
neutrinus

Cette commande suivante fera, pour utiliser simplement nc:

ssh examplehost.com -o "ProxyCommand=nc --proxy localhost:7000 %h %p"

La valeur par défaut est un proxy HTTP. Un proxy HTTP est exécuté sur le port 7000.

1
Chinglin Wen