Probleme de forwarding pour un ssh
Fermé
Loic
-
15 mars 2007 à 16:57
Toeic Messages postés 51 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 24 août 2007 - 27 mars 2007 à 14:01
Toeic Messages postés 51 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 24 août 2007 - 27 mars 2007 à 14:01
Bonjour,
voila le probleme, je travaille sous Linux et je cherche a "forwarder" un ssh sur un intranet. l'infrastructure employee ressemble a ce qui suit:
pc distant1 ========= passerelle/hote1 ============ hote2
le probleme est de faire un ssh sur la "passerelle/hote1" tout en specifiant un port dans la requete (ssh -P je crois) qui peröettrait de "forwarder" la requete vers "hote2" et ainsi d'arriver a creer un tunnel entre "pc distant1" et l'"hote2" tout en gardant la "passerelle/hote1" invisible pour l'utilisateur....
est ce tout simplement realisable, et si oui, comment ?
Merci d'avance
voila le probleme, je travaille sous Linux et je cherche a "forwarder" un ssh sur un intranet. l'infrastructure employee ressemble a ce qui suit:
pc distant1 ========= passerelle/hote1 ============ hote2
le probleme est de faire un ssh sur la "passerelle/hote1" tout en specifiant un port dans la requete (ssh -P je crois) qui peröettrait de "forwarder" la requete vers "hote2" et ainsi d'arriver a creer un tunnel entre "pc distant1" et l'"hote2" tout en gardant la "passerelle/hote1" invisible pour l'utilisateur....
est ce tout simplement realisable, et si oui, comment ?
Merci d'avance
A voir également:
- Probleme de forwarding pour un ssh
- Ssh download - Télécharger - Divers Web & Internet
- Bash ssh connection ✓ - Forum Linux / Unix
- Probleme SFTP/SSH - Forum Windows serveur
- Port forwarding python - Forum Python
- Smb port forwarding ✓ - Forum Réseau
5 réponses
brupala
Messages postés
111389
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
27 avril 2025
13 995
15 mars 2007 à 17:37
15 mars 2007 à 17:37
comme ceci ?
probleme tunneling ssh
probleme tunneling ssh
ça m'a l'air pas mal, je vais tenter ça demain....mais j'aurais surement une autre petite colle sr ce sujet :p
admettons que je veuille que le tunnel joigne différents hôtes en fonction du port que je lui demande de prendre sur la "passerelle/hote1", est ce que ça serait possible avec l'ip masquerade d'établir une règle qui routerait automatiquement le tunnel ?
par exemple, quand je tape ssh -L 2001:....., ça joint la machine 10.0.0.1, quand je tape ssh -L 2002, ça joint la machine 10.0.0.2, et ainsi de suite...
est ce que c'est possible d'implémenter de telles règles avec iptables, ou alors il faut que je rentre toute la ligne à chaque fois pour créer le tunnel ?
Merci
admettons que je veuille que le tunnel joigne différents hôtes en fonction du port que je lui demande de prendre sur la "passerelle/hote1", est ce que ça serait possible avec l'ip masquerade d'établir une règle qui routerait automatiquement le tunnel ?
par exemple, quand je tape ssh -L 2001:....., ça joint la machine 10.0.0.1, quand je tape ssh -L 2002, ça joint la machine 10.0.0.2, et ainsi de suite...
est ce que c'est possible d'implémenter de telles règles avec iptables, ou alors il faut que je rentre toute la ligne à chaque fois pour créer le tunnel ?
Merci
Hello,
apres avoir essaye ce que tu proposes, je n'ai toujours pas de resultats et mon ssh ne passe pas le pc intermediaire...
j'ai essaye la commande suivante dans iptables:
i
avec la commande:
etant debutant dans ce domaine, je n'arrive pas a situer mon erreur, pourtant j'ai lu pas mal de docs sur la toile qui presentent cette solution (+/-)
merci d'avance encore
nota: l'ip_forward est a 1
apres avoir essaye ce que tu proposes, je n'ai toujours pas de resultats et mon ssh ne passe pas le pc intermediaire...
j'ai essaye la commande suivante dans iptables:
i
ptables -t nat -A PREROUTING -p tcp --dport 2001 -i eth0 -j DNAT --to ip_serveur:22
avec la commande:
ssh -p 2001 login@ip_intermediaire
etant debutant dans ce domaine, je n'arrive pas a situer mon erreur, pourtant j'ai lu pas mal de docs sur la toile qui presentent cette solution (+/-)
merci d'avance encore
nota: l'ip_forward est a 1
brupala
Messages postés
111389
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
27 avril 2025
13 995
16 mars 2007 à 19:04
16 mars 2007 à 19:04
ah non,
ça n'est pas un tunnel que tu veux faire alors, c'est un nat .
c'est plutôt la commande ssh -p 2001 login@serveur_ssh que tu dois faire.
pour la commande iptable, je ne sais pas, il faut que je recherche (j'ai toujours eu du mal à les lire), mais ça doit etre asses proche
ça n'est pas un tunnel que tu veux faire alors, c'est un nat .
c'est plutôt la commande ssh -p 2001 login@serveur_ssh que tu dois faire.
pour la commande iptable, je ne sais pas, il faut que je recherche (j'ai toujours eu du mal à les lire), mais ça doit etre asses proche
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Toeic
Messages postés
51
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
24 août 2007
2
18 mars 2007 à 19:14
18 mars 2007 à 19:14
oui, thx, c'est du nat et non un tunnel la finalité du truc, dsl
pour info, j'arrive à passer la "passerelle" et grâce à Wireshark, je vois que l'authentification ssh débute entre la "passerelle" et l'"hote distant".
mes regles iptables sont les suivantes sur la "passerelle":
apparement, le probleme maintenant c'est d'autoriser le traffic à revenir sur ses pas pour avoir la réponse, need de taffer un peu la dessus encore, mais si kkun a une idée, je suis preneur...
Merci d'avance
pour info, j'arrive à passer la "passerelle" et grâce à Wireshark, je vois que l'authentification ssh débute entre la "passerelle" et l'"hote distant".
mes regles iptables sont les suivantes sur la "passerelle":
iptables -t nat -A PREROUTING -j DNAT -p tcp --dport 2001 -i eth0 --to ip_distant:22 iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --dport 22 -o eth1 -d ip_distant iptables -t filter -A FORWARD -i eth0 -o eth1 -j ACCEPT iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT
apparement, le probleme maintenant c'est d'autoriser le traffic à revenir sur ses pas pour avoir la réponse, need de taffer un peu la dessus encore, mais si kkun a une idée, je suis preneur...
Merci d'avance
brupala
Messages postés
111389
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
27 avril 2025
13 995
20 mars 2007 à 13:39
20 mars 2007 à 13:39
je ne suis pas vraiment connaisseur en iptables,
mais il me semble que la règle -j MASQUERADE ne comporte pas d'options d'habitude
mais il me semble que la règle -j MASQUERADE ne comporte pas d'options d'habitude
Toeic
Messages postés
51
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
24 août 2007
2
27 mars 2007 à 09:19
27 mars 2007 à 09:19
Dans ce cas, ca sert juste a preciser ou on redirige le traffic, tout ce qui est a destination du port 22 va sortir par eth1 a pour l'adresse ip_distant.
Sinon, j'ai trouve une solution, mais un peu galere a mettre en place...
en gros, il faut etablir les regles citees auparavant sur la passerelle:
Puis mettre le sshd de la nachine distante a ecouter sur le port choisi et avec la commande:
on envoie notre traffic sur le port 2001 (qui permet la redirection vers la machine de notre choix au niveau de la passerelle, suffit de regler iptables) et l'option HostKeyAlias va gerer l'alias donne a la cle genere par ssh lors du transfert (stockee dans ~/.ssh/known_hosts) qui permet de joindre la passerelle puis l'hote distant en passant outre la cle deja etablie entre l'hote et le passerelle (ainsi que les infos de man in the middle probable)
oila, pas tres clair, mais c'est tout ce aue j'ai trouve pour gerer les cles generes
j'essaye un truc dans le meme genre avec cles publiques/privees maintenant
Sinon, j'ai trouve une solution, mais un peu galere a mettre en place...
en gros, il faut etablir les regles citees auparavant sur la passerelle:
iptables -t nat -A PREROUTING -j DNAT -p tcp --dport 2001 -i eth0 --to ip_distant:2001 iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --dport 2001 -o eth1 -d ip_distant iptables -t filter -A FORWARD -i eth0 -o eth1 -j ACCEPT iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT
Puis mettre le sshd de la nachine distante a ecouter sur le port choisi et avec la commande:
ssh -p 2001 -o "HostKeyAlias xxx" user@hote_distant
on envoie notre traffic sur le port 2001 (qui permet la redirection vers la machine de notre choix au niveau de la passerelle, suffit de regler iptables) et l'option HostKeyAlias va gerer l'alias donne a la cle genere par ssh lors du transfert (stockee dans ~/.ssh/known_hosts) qui permet de joindre la passerelle puis l'hote distant en passant outre la cle deja etablie entre l'hote et le passerelle (ainsi que les infos de man in the middle probable)
oila, pas tres clair, mais c'est tout ce aue j'ai trouve pour gerer les cles generes
j'essaye un truc dans le meme genre avec cles publiques/privees maintenant
brupala
Messages postés
111389
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
27 avril 2025
13 995
>
Toeic
Messages postés
51
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
24 août 2007
27 mars 2007 à 11:19
27 mars 2007 à 11:19
je ne vois pas quel est ton problème de clés là .
l'adresse du client distant n'est pas modifiée par le passage en nat et sa clé publique ne change pas quelle que soit le serveur destination.
c'est le fichier known_hosts du client qui est mis à jour dans ce cas.
l'adresse du client distant n'est pas modifiée par le passage en nat et sa clé publique ne change pas quelle que soit le serveur destination.
c'est le fichier known_hosts du client qui est mis à jour dans ce cas.
Toeic
Messages postés
51
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
24 août 2007
2
>
brupala
Messages postés
111389
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
27 avril 2025
27 mars 2007 à 13:37
27 mars 2007 à 13:37
oui, dans le fichier known_hosts, il y a des cles qui sont gerees en fonction de la destination du ssh et de host1 a host2 mais sur deux port differents, ce fichier alerte qu'il se passe kkchose de "nasty" sur la ligne et refuse la connexion
voila mon probleme alors que si je fais la meme commande sans changer de port, ca se fait tout seul.
merci de m'accorder un peu de temps
P.S.: le port 2001 est cense etre forwarde a la machine correspondante...
[user1@host1 ~]$ ssh -p 2001 user2@host2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Please contact your system administrator. Add correct host key in /home/user1/.ssh/known_hosts to get rid of this message. Offending key in /home/user1/.ssh/known_hosts:1 RSA host key for host2 has changed and you have requested strict checking. Host key verification failed.
voila mon probleme alors que si je fais la meme commande sans changer de port, ca se fait tout seul.
merci de m'accorder un peu de temps
P.S.: le port 2001 est cense etre forwarde a la machine correspondante...
brupala
Messages postés
111389
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
27 avril 2025
13 995
>
Toeic
Messages postés
51
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
24 août 2007
27 mars 2007 à 13:53
27 mars 2007 à 13:53
ça c'est par rapport à ton fichier local , non ?
pas le distant.
pas le distant.