Aller au contenu

Commande sftp pour se connecter à un ordinateur vi


pamputt

Messages recommandés

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

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

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
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....

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

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

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...