ssh tunneling by biz On peut, pour plusieurs raisons, vouloir se connecter à une machine distante de manière cryptée. Par exemple :

  • protéger les données envoyées sur le réseau si l'on se connecte sur un wifi public ou un réseau non sécurisé (à l'hôtel/chez un client, par exemple)
  • accéder à des ressources autorisées sur la machine distante mais pas directement localement (exemple des sites non corporate/un webmail etc etc.)

Dans le deuxième cas, on veut surement rester discret, en conséquence de quoi on préfère crypter, bien sur...
Pour se connecter de manière sécurisée de la machine A à la machine B, on doit obligatoirement établir une connection cryptée, car on ne peut assurer que personne n'écoute cette conversation (que le réseau traversé soient sans fil ou non).
Pour ce faire, on va utiliser un protocole de connection cryptée standard nommé SSH (secure shell), qui permet à un client (ssh) d'accéder à un serveur (ssh) de manière cryptée.
Sous Linux et mac, client et serveur sont présents par défaut, le serveur n'est cependant pas lancé dans la plupart des cas. L'activation sur Mac se fera dans les préférences de partage, et sous Linux, via une commande de lancement de type

sshd& // = ssh daemon = ssh server

Sous Windows, OpenSSH peut être installé (serveur) et il existe plusieurs client ssh, soit putty, soit celui intégré dans la distribution Cygwin.
Une fois le serveur installé sur la machine B, et le client installé sur la machine A, il est possible d'établir cette connection cryptée :
Au prompt de la machine cliente (A, pour ceux du fond), on lance le client SSH et on lui indique d'ouvrir une connection distante sur la machine B :

ssh -ND 9999 my_account@machineB.reseau.net

On entre ensuite le mot de passe nécessaire, et le prompt revient. Une connection a été ouverte, et l'option D indique qu'on souhaite ouvrir un tunnel de la machine A à la machine B de manière persistente, en donnant accès aux applications locales (machine A) à ce tunnel.
Il suffit ensuite d'indiquer à son navigateur l'entrée du tunnel.
Dans firefox, on définit dans préférences -> adavanced -> network -> connection -> settings un proxy SOCKS, l'entrée de notre tunnel, qui sera donc localhost, sur le port (de sortie) défini dans la commande, soit 9999 ici.

A partir de ce moment, Firefox se connecte à la machine B de manière entièrement cryptée. On accède donc à son réseau distant et à ses ressources en crypté. Par ailleurs, si la machine B a accès à internet, par rebond, on pourra accéder à internet de manière cryptée !

Encore un truc. Si la machine A utilise un proxy pour se connecter à internet, il faut indiquer les infos de proxy au client SSH :

export http_proxy=http://myhttpProxy:portxxx

Un dernier truc. Si le proxy en question ne permet pas d'autre port que le 80 et 443 (http et https), il suffit de configurer le serveur ssh sur la machine B pour écouter sur l'un de ces ports. Après quoi on spécifiera un argument supplémentaire -p80 ou -p443 lors de l'établissement de la connection, afin de spécifier que le serveur n'écoute pas sur le port habituel (port ssh usuel = 22).

Voila voila.