February 26, 201016 yr Bonjour, ma question est relativement simple. J'utilise linux et je voudrais connaitre la commande qu'il faut passer pour se connecter à un ordinateur en passant via un autre. En gros, actuellement je fais la manip suivante sftp mon_nom@ordinateur1 et quand je suis sur l'ordinateur 1 je tape la même commande pour accéder à l'ordinateur final (ordinateur2) sftp mon_nom@ordinateur2 Je voudrais donc connaitre la commande pour passer directement du départ à la fin (ordinateur2) Car le soucis c'est que je ne peux rien enregistrer sur l'ordinateur 1. Je voudrais donc pouvoir télécharger des données directement depuis le l'ordinateur 2. Une idée ?
February 26, 201016 yr Peux tu au moins faire du ssh sur ces 2 machines? Essaye un truc du genre: [machine1] $ ssh login@machine2 -L 2222:machine3:22 ensuite avec une autre console: [machine1] $ ssh login@localhost -p2222 ça t'envera sur le ssh de la machine 3
February 27, 201016 yr la commande c'est sftp mon_nom@ordinateur2 Si ça ne fonctionne pas, c'est soit : Le serveur SSH d'ordinateur2 refuse les connexions en provenance d'ordinateur0. Solution : changer la config du serveur SSH d'ordinateur2. Ordinateur2 et ordinateur0 ne sont pas sur le même réseau (ping ordinateur2 donne no route to host). Solution : configurer ordinateur1 pour router le trafic entre ordinateur0 et ordinateur2.
February 27, 201016 yr Je n'y aurais pas du tout pensé ! Il est possible en effet qu'un firewall filtre sur l'IP du PC de départ, auquel cas il faut modifier sa configuration pour accepter la connexion.
February 27, 201016 yr Author Peux tu au moins faire du ssh sur ces 2 machines?Essaye un truc du genre: [machine1] $ ssh login@machine2 -L 2222:machine3:22 ensuite avec une autre console: [machine1] $ ssh login@localhost -p2222 ça t'envera sur le ssh de la machine 3 Tout d'abord merci pour toutes vos réponses. J'ai suivi cette procédure et en effet 'arrive directement sur la machine 3 Pour expliquer plus en détail mon cas. La machine 3 est sur le réseau local d'un labo et n'est pas accessible depuis l'extérieur. D'où l'intérêt de la machine 2 qui sert de machine d'entrée sur le réseau local du labo. Mon problème c'est que je ne sais pas du tout comment télécharger un fichier présent sur la machine 3 directement sur la machine 1 sans devoir l'enregistrer sur la machaine 2 (puisque je n'ai pas les droits d'écriture sur la machine 2, c'est juste une porte d'entrée). Donc, vu que ta manip fonctionne quelle est la commande à passer pour télécharger un fichier qui se trouve sur la machine 3 sur la machine 1 ? Merci d'avance pour vos réponses.
February 27, 201016 yr Essaye ça : pamputt@machine1:~$ ssh login2@machine2 scp login3@machine3:/path/to/file pamputt@machine1:/path/destination/ Logiquement ça marche, la machine2 voyant les deux autres, elle peut faire la copie en un coup.
March 1, 201016 yr @theocrite : A mon avis il voulait écrire "via un autre mais ça a été tronqué". @Quiproquo : encore faut-il que la machine 2 puisse contacter directement la machine 1, ce qui n'est pas précisé dans le problème
March 1, 201016 yr Dans mon cas j'ai un truc du même style, quand je veux me connecter depuis le boulot vers mon station de travail en SSH chez moi. Autrefois je passais d'abord par mon serveur chez moi, puis depuis mon serveur sur ma station (que j'allume depuis le serveur, merci le Wake on Lan) Depuis pour gagner du temps et éviter les erreurs, quand elle est allumée je l'attaque directement en SSH ... sur un port différent. Et mon firewall forward le port 22 vers le port 22 de mon serveur, et le port 2222 (par exemple) vers le port 22 de ma station ... Donc si tu peux, au niveau de la machine intermédiaire (machine2) , la rendre joignable depuis un autre port que tu forward vers le port 22 de machine3, ça peut le faire aussi. A grand coup d'iptables (que je ne saurai te donner puisque mon firewall est un boitier du commerce, désolé), ou d'une commande sur une box Internet. Attention en termes de sécurité, biensur, si la machine est injoignable de l'extérieur c'est peut-être voulu :)
March 2, 201016 yr La solution de madko me semble la plus pertinente. une fois le tunnel ssh ouvert, ya plus qu'à. A ce moment, rien n'empêche de forwarder directement le port 21. Ca me rappelle mes années d'école où si je voulais voir mes mails depuis chez moi, il fallait attaquer le serveur de mail par tunnel (même manip que madko : ssh user@point_d_entree -L port_local:machine:port_distant) par ex avec ssh x@y -L 21:ordinateur2:2021, que tu laisses tourner en fond, tu ouvres ton client ftp favori, et tu te connectes sur localhost:2021 edit : et comme je sais que je suis généralement une quiche en explications, je laisse ça aux autres : http://ditwww.epfl.ch/SIC/diode/ssh.html#tunnels
March 12, 201016 yr avec le tunnel ouvert, rien n'empeche d'utiliser scp, c'est le meme port et protocole que SSH. man scp option -P si besoin pour le port scp -P 2222 login@localhost:/fichier_machine3 /rep_local du coup pour sftp même logique: sftp -o "Port 2222" localhost et hop tu es sur la machine3
April 5, 201015 yr Pour le tunnel ssh:ssh -L 22:machine2:22 utilisateur@machine1 j'ai bien compris? Je me répond à moi même à priori oui, je peux me connecter sur machine1 mais machine2 ne répond pas. En regardant le man de sshd_config j'ai trouvé ça: En fait selon le manuel de ssh, sshd est configuré par défaut pour brancher les redirections de ports à l’adresse de bouclage (loopback address). il faut configurer /etc/ssh/sshd_config si elle n'existe pas (chez moi y en a pas) tu doit rajouter cette ligne: GatewayPorts yes je teste ça demain et tiens au courant....
April 7, 201015 yr oublie pas le test de base, ping ta machine quand ton tunnel est fait si je me connecte en ssh sur la machine1 et ensuite de cette machine a la machine2 ça fonctionne, les machines communiquent bien pas de probléme.
April 8, 201015 yr et tu fais comme indiqué pour te connecté à la machine 2? Pour le ping ça ne passera pas par le tunnel, ça ne sert à rien.
May 9, 201015 yr Author Merci pour toutes vos réponses. La solution résidait en effet dans un tunnel ssh. Pour ceux que ça intéresserai, voici donc les commandes que j'utilise ssh -L10050:machine3:22 user@machine2 pour ouvrir le tunnel. Ensuite je tape simplement depuis machine1 ssh -p10050 user@localhost et là j'arrive directement sur la machine 3 Ca marche aussi pour scp avec cette commande scp -P10050 fichier/local user@localhost:/chemin/ou/je/veux/copier/le/fichier
Archived
This topic is now archived and is closed to further replies.