[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: tunnel SSH



Le 29/11/2011 11:03, Philippe Gayot a écrit :
Bojour,

Nous avons mis en place un tunnel pour encapsuler le HTTP dans SSH

1) à partir de machines (Win XP, Putty, TightVNC Viewer) en réseau local
2) vers l'interface Web (d'administration et de surveillance) du serveur de virtualisation "proxmox" (debian lenny)
3) & via un serveur de rebond

Les connexions se font via un serveur de rebond car son adresse IP permet à ce dernier de se connecter à n'importe quelle machine de n'importe quel réseau lan de l'entreprise.

La doc suivante nous a aidé :
http://formation-debian.via.ecp.fr/ssh.html#id386501
et notamment la figure 40.2 située en bas de page et qui a pour titre "*Exemple de tunnel SSH*".

Un profil particulier de firefox a été créé sur les stations XP dans le but que l'interface web s'y affiche :
Config manuelle du proxy
Hôte SOCKS 127.0.0.1 Port 22

Mais firefox ne se connecte pas à l'interface web de proxmox ...


Par avance, merci pour vos suggestions ...

Bonjour,

Il faudrait un peu plus de détails pour répondre précisément, mais à partir des quelques éléments que tu donnes, voici ce que je comprends : - il s'agit d'utiliser les possibilités du tunneling SSH et, en particulier, le rpoxyu SOCKS intégré à OpenSSH - pour cela, il faut ouvrir un tunnel ssh entre une machine A accessible par les clients et une machine B ayant accès aux ressources cibles - ce tunnel doit être ouvert sur machine A avec une commande du genre : "ssh -D8080 userB@machineB" - ensuite, il faut déclarer, dans firefox, un, proxy SOKCS sur machineA port 8080

La déclaration "Hôte SOCKS 127.0.0.1 Port 22" ne fonctionnera pas, sauf si le client SSH écoute sur le port 22 (ce qui a peu de chances d'être le cas). Le tunnel peut être lancé sur chacune des machines clientes mais c'est peu pratique. Il vaut mieux faire cela sur un serveur unique, après avoir modifié le paramètre "GatewayPorts" à "yes" dans /etc/ssh/sshd_config.

En résumé :
- machineA doit être accessible par tous les clients sur un port à définir (8080 par exemple)
- machineB à accès aux ressources
- sur machineA on exécute "ssh -D*:8080 userB@machineB"
- sur les clients, on paramètre un proxy SOCKS sur machineA:8080

On pourra améliorer tout ça en lançant le client SSH en arrière plan (options "-f -n -N"), voire en utilisant un wrapper du type autossh pour surveiller le tunnel SSH et le relancer au besoin.

Cela correspond-il bien à ton besoin ?

Cdlt,
Jean-Jacques


Reply to: