68 votes

Comment utiliser SSH avec un proxy SOCKS 5 ?

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

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

  1. Créer ~/.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 j'obtiens est le suivant ssh_exchange_identification: Connection closed by remote host

67voto

Vous utilisez 'connect' pour HTTPS en tant que version du proxy, ceci provient de man nc :

-X proxy_version Demande que nc utilise le protocole spécifié lors de la communication avec le serveur proxy. Les protocoles supportés 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 cela vous aidera.

18voto

sacki Points 1
ssh -o ProxyCommand='nc --proxy-type socks4 --proxy 127.0.0.1:9050 %h %p' user@host

fc19 x86_64, Ncat : Version 6.25

8voto

neutrinus Points 189

tsocks ( http://tsocks.sourceforge.net/ ) est un joli wrapper qui utilise LD_PRELOAD pour permettre à n'importe quel programme d'utiliser le proxy SOCKS de manière transparente :

tsocks ssh example.com

Cela fonctionne, n'oubliez pas de configurer l'IP du proxy SOCKS dans /etc/tsocks.conf

3voto

azerafati Points 121

Pour simplifier les choses, vous pouvez mettre ces éléments dans ~/.ssh/config

host = example.com
ProxyCommand nc -X 5 -x 127.0.0.1:9150 %h %p

Toute commande ssh dans le terminal passera désormais par ce proxy.

2voto

Chinglin Wen Points 21

La commande suivante suffit pour utiliser nc :

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

La valeur par défaut est HTTP proxy, un proxy HTTP fonctionne sur le port 7000.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X