2009-05-08 4 views
20

Est-il possible de mettre en place un tunnel SSH avec redirection de port dynamique comme celui-ci:ssh -D <port><[email protected]>; mais à l'envers?

ssh -D

mais faire l'inverse? C'est-à-dire que je veux initier la connexion sur ma machine locale et que le transfert de port dynamique se fasse là, et que mon ami connecte son navigateur à l'autre bout du tunnel. Ce qui précède fonctionne parfaitement si mon ami tape ce qui précède mais je ne veux pas lui donner l'accès ssh à ma machine, laissez-le simplement proxy son navigateur.

+1

Cette question n'est pas liée à la programmation. Essayez serverfault.com – bdukes

Répondre

27

Pour OpenSSH, consultez le -R commutateur:

-R [bind_address:]port:host:hostport 
     Specifies that the given port on the remote (server) host is to 
     be forwarded to the given host and port on the local side. This 
     works by allocating a socket to listen to port on the remote 
     side, and whenever a connection is made to this port, the connec‐ 
     tion is forwarded over the secure channel, and a connection is 
     made to host port hostport from the local machine. 

Bien qu'il y ait de meilleures solutions, vous pouvez créer un proxy SOCKS à l'ordinateur de votre ami remotehost à 24680 port de la manière suivante. Tout d'abord, faire

ssh -R 24680:localhost:12345 remotehost 

Et puis, faire

ssh -D 12345 localhost 

De toute évidence, les deux sessions doivent être maintenus en vie en même temps.

+3

Cela vaut la peine d'ajouter une petite explication. Donc, quand vous avez CompA et CompB. Le 'ssh -R 24680: localhost: 12345 remotehost' est exécuté à partir de CompA, et' ssh -D 12345 localhost' est également exécuté à partir de CompA. Crée un proxy pour que la personne B utilise le proxy SOCKS sur CompA. Personne à CompB connecte le navigateur Web à son port local (B) 24680 et donc par proxy, utilise le proxy SOCKS à CompA. Très intelligent! – barlop

Questions connexes