# [ssh] transfert de fichier.

## ablyes

localhost-taf .........routeur ....routeur .....|NET|....routeur.....ordni-maison

bonjour, 

je suis au bureau, sous windows 2000, j'utilise putty pour me connecter en ssh sur mon routeur, puis de là sur mon ordi connecté directement sur le routeur.

```

ssh root@82.68.158.252 (ma fausse adresse ip)

ssh lyes@192.168.1.2 (adresse de l'ordi en local)

```

je fais un ls sur le c:, je repère le fichier que je veux mettre sur mon ordi de bureau.

scp fichier_que_jeveux@......? je mets quoi ? je suis perdu, car je ne connais pas du tout le chemain exacte. 

ni l'adreese ip externe de l'entreprise. 

je pensais donc a une commande qui resoud le chemin inverse, ...ou autre.

merci

----------

## CourJuS

Hello j'ai fait des recherche car on m'avait montré un truck pour transferé des fichier par ssh, et j'ai trouver un soft qui te sera sans doute utile enfin j'epsaire  :Smile:  mais faudra forwardé le port en local de ton reseau personnel, pour que tu puisse te connecté directement à la machine voulue.

le petit soft magique c'est winscp  :Smile: 

http://prdownloads.sourceforge.net/winscp/winscp374setup.exe?use_mirror=belnet

Bonne journée  :Smile: 

----------

## Enlight

Pour l'ip de ton entreprise tu vas sur checkip.dyndns.org. Mais rien ne dit que le NAT de votre routeur va envoyer la chose sur ta machine.

----------

## ablyes

cool, justement hier je cherchais ce logiciel, car je connaissais. je suis tombé sur une version ou fallait etre root. étant donné que je n'ai pas ces droits donc j'ai laissé tombé après qq essais.

là ça a marché impec. il ne me reste plus qu'a forwarder comme tu dis.

chose que je ne sais pas faire. alors questions me viennent en tête :

1- si j'ai plusieurs pc est ce que je peux forwarder avec un parametre (ou je ne sais pas quelle magie) pour que ça marche sur d'autres pc (connectés a mon routeur de la maison).

----------

## ablyes

to Enlight :

oui j'ai l'adresse ip, mais rien ne me dit que ça n'est pas passé par cent routeurs vue la taille de l'enreprise.

et meme si c'est directe, j'ai toujours le meme probleme de forward.

je ne sais pas comment faire la chose, et surtout comment ça marche !

----------

## CourJuS

 *ablyes wrote:*   

> cool, justement hier je cherchais ce logiciel, car je connaissais. je suis tombé sur une version ou fallait etre root. étant donné que je n'ai pas ces droits donc j'ai laissé tombé après qq essais.
> 
> là ça a marché impec. il ne me reste plus qu'a forwarder comme tu dis.
> 
> chose que je ne sais pas faire. alors questions me viennent en tête :
> ...

 

tu à quelque détaille sur ton router ???? 

marque/model ? (bien que je pance que c'est une machine vue que tu t'y connect en ssh  :Smile:  ) 

Ta distribution 

Le script de ton firewall que tu utilise (fait toi même, un ami, peché sur internet, ...?)

----------

## ablyes

linksys wrt54gs avec le dernier firmware non off alchemy pre7.

aucun script fait maison.

----------

## CourJuS

 *ablyes wrote:*   

> linksys wrt54gs avec le dernier firmware non off alchemy pre7.
> 
> aucun script fait maison.

 

Ha! ok

bon j'ai jamais eu l'honeur de faire joujoue avec des router lynksys.

Tu à acces à la page web de configuration depuit le net ou uniquement à partire de ton reseau local ?

si oui faut se renseignier au pret de ton manuel je vais fuiné un px sur google mais comme je suit au taff je te garantis pas que je serait répondre d'ici 20 minut  :Smile: .

j'ai trouver sa vite fait sur le site proprio ftp://ftp.linksys.com/international/userguides/WRT54GS-EU-UG.pdf

et j'ai sorti un router lynksys du rayon (un wag54G)  :Wink:  dans la page de configuration web faut aller dans "applications & gaming" après je pance que tu devrait pouvoire te débrouillé  :Smile: 

----------

## ablyes

j'y ai normalement acces, mais là d'ou je suis (intranet de l'entreprise) on bloque les accès sous internet explorer en dehors du port 80 (par de faut du http).

donc quans j'essai d'acceder a mon routeur a partir du port ???? (qui n'est pas le port 80) leur firewall bloque l'accès.

je vais voir si je ne peux pas changer ce port sans passer par l'interface web (cad sous ssh directement).

----------

## CourJuS

oui c'est une autre solution  :Smile:  je savait pas qu'on pouvait se connecter en ssh à ces router la, çi non avec likns a partire de ton reseau local mais sa doit pas êtres tarte ^^.

Bon courage  :Smile: 

----------

## ablyes

le problème n'est toujours pas reglé vue que je peux toujours pas voir ma machine avec wincsp vue que le routeur ne forward pas.

(j'y aurai accès qu'en soirée, mais si t'as deja la sol maintenant, vas y  :Smile:  )

----------

## CourJuS

en ssh sur ton router tu sais faire quoi exactment ?

si non en graphique faut te rendre dans le menu que je t'ai dit plus haut "applications & gaming" tu crée une raigle pour les ssh de ta machine ex

```

application | External port | internal port | protocol | IP Address        | enabled

   sshd     |    8081       |       22      |    TCP   |  IP machine local |      *
```

et ensuit de n'importe ou du net tu fait 

```
ssh ip.de.ton.router:8081
```

8081 n'est qu'un example mais pour pas avoire de problem prand en un au dessu de 1024 et qui ne te sert à rien.

[EDIT] je m'etait planté dans le port  :Smile:  21 au lieux de 22 sa le fait pas lol

----------

## ablyes

ah ok, au fait on profite du forward des requettes, ce que peux faire le routeur...

je bloquais, parceque je voyais le ssh comme étant une requette spéciale ...bref ...j'ai pas eu cette idée là.

je te remercie.

EDIT :

je vais essayer de me connecter avec lynx (navigateur texte) sur le routeur, puis désactiver le https pour y acceder a partir de mon navigateur içi, sans problemem et faire la manip décrite la haut . mais pas sur que ça marche.

----------

## ablyes

j'ai un problème avec lynx :

-j'ai accès au routeur.

-je fais mes changements : je désactive par exemple l'accès en mode https obligatoire a partir de l'exterieur. (parceque le https içi est bloqué si ce n'est pas sur le port 80)

-je ne peux pas appliquer ces changements, car je ne vois pas le boutton : appliquer les changements !

du coup j'ai surfé un peu sur les options de lynx mais je ne trouve rien pour ça.

merci

----------

## ultrabug

Scout a fait un excellent howto sur le sujet, il pourra surement t'aider :

https://forums.gentoo.org/viewtopic.php?t=281671

----------

## ablyes

j'ai réussi, mais maintenant je crois que c'est plutot un problème de droits.

```

$ ssh -p 1201 lyes@(adresse_ip_net)

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    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

ae:....................................................................

Please contact your system administrator.

Add correct host key in /home/Lyes/.ssh/known_hosts to get rid of this message.

Offending key in /home/Lyes/.ssh/known_hosts:7

RSA host key for (adresse_ip_net) has changed and you have requested strict checkin

g.

Host key verification failed.

```

----------

## Enlight

Mais non, c'est une question de clé. tu efface les known hosts dans ~/ssh. Si tu avais lu le message d'erreur en entier t'aurais pas eu besoin d'attendre.

----------

## ablyes

J'ai effacé le contenu du fichier, mais j'ai toujours la même erreur. faut plutot que t'en rajoute une clé dans ce fichier. mais je ne sais pas laquelle !?

----------

## CourJuS

 *ablyes wrote:*   

> J'ai effacé le contenu du fichier, mais j'ai toujours la même erreur. faut plutot que t'en rajoute une clé dans ce fichier. mais je ne sais pas laquelle !?

 

faut pas éffacé le contenu du fuchier mais les/le fichier(s).

Perso moi je fait sa 

```
rm -rf /home/mon_user/.ssh/
```

 mais c'est peut êtres pas la meilleur des solutions. au pire en attandant qu'on confirme se que j'ai dit fait un 

```
mv /home/ton_user/.ssh /home/ton_user/.ssh.old
```

et retest voire si sa vas mieux  :Smile: 

Bonne appetit tout le monde  :Smile: 

----------

## sireyessire

 *ablyes wrote:*   

> J'ai effacé le contenu du fichier, mais j'ai toujours la même erreur. faut plutot que t'en rajoute une clé dans ce fichier. mais je ne sais pas laquelle !?

 

suffit d'effacer les lignes qui correspondent à cet host dans le .ssh/know_hosts

----------

## ablyes

Maintenant que j'ai effacé le fichier ça marche mais qu'en mode local !

J'explique en détail :

je suis au boulot :

- Connextion directe sur l'ordi en passant par le forward du routeur :

```
ssh -p 1201 lyes@82.69.252.122
```

 Résultat : Marche pas !

- Connexion sur le routeur, puis en utilisant le mode local sur ma machine :

```

ssh root@82.69.252.122

ssh -p 1201 lyes@192.168.1.2

```

Résultat : Marche impec.

- Connexion sur ma machine par l'adresse internet (en passant par le forward du routeur) :

```

ssh root@82.69.252.122

ssh -p 1201 lyes@82.69.252.122

```

Résultat : La derniere commande marche pas  :Sad: 

- Connexion sur le routeur, puis sur ma machine en mode local, puis sur la meme machine en passant par le net (donc par le forward du routeur) :

```

ssh root@82.69.252.122

ssh -p 1201 lyes@192.168.1.2

ssh -p 1201 lyes@82.39.252.122

```

Résultat : Marche impec !!!!

Je suis perdu ! Pourquoi ça ne marche pas !? Je suis sur que c'est une histoire de droits, mais j'ai pourtant effacé tous les fichiers dans .ssh

----------

## CourJuS

la raigle de forward dans tout router tu à mis quoi comme port entrant et sortant, car avec les example que tu nous donne j'ai l'impression que tu à changé le port de ton server SSHD dans la machine de ton reseau persso.

Et aussi serait tu collé les message d'erreur ...  :Smile: 

----------

## ablyes

Message d'erreur après :

```

ssh  root@82.69.252.122 

ssh -p 1201 lyes@ 82.69.252.122 

```

ssh: exited: Error connecting: Connection refused

ps : quand je me connecte directement sans passer par mon routeur, je n'ai pas de message d'erreur à cause de putty qui ne l'affiche pas justement (il bloque et dit que c'est impossible, c'est tout).

----------

## ablyes

Pour la configureation du routeur, j'ai un version plus avancée que celle que t'as preséntée la haut. Donc ça donne a peu près ça :

http://portforward.com/linksys/WRT65Gv204-portforwarding.htm

```

Application : ssh

Start : 1201

End : 1201

Protocol : tcp

Ip adresse : 192.168.1.2 (adresse de ma machine)

Enable : OK

```

----------

## Enlight

 *ablyes wrote:*   

> Message d'erreur après :
> 
> ```
> 
> ssh  root@82.69.252.122 
> ...

 

Je craques!!!! une fois que t'es sur le routeur ça sert à quoi de lui demander de se connecter sur lui même???? 2è ligne tu mets l'IP LAN!!!

Et si tu veux une connection directe tu definis un erègle NAT pour ton routeur!

----------

## ablyes

Je fais ça pour avoir les messages d'erreurs, pas pour m'amuser à faire des boucles.

je rappel que je suis sous windows, que je n'ai presque pas de droits. Donc pas de linux, ni de cygwin d'installé sur le pc du bureau.

Et justement j'ai bien définit cette regle nat. Mais je suis pas sur. J'attends confirmation.

----------

## Enlight

bah quand tu lances putty tu lui spécifie un port (22 pas defaut pour ssh) ok.

Donc cur ton routeur tu dis que les connections TCP qui arrivent sur ce port repartent sur le port 1201 de ton adresse sur le localhost.

Bien sur le fichier de conf de sshd doit lui dire d'écouter sur le port 1201.

Ensuite quand tu as fait ça, dans le fichier de conf de sshd, tu -interdis_ les root logins (plus sûr). Tu te connectes avec un user wheel, puis su et c'est parti.

----------

## ablyes

Regarde l'adresse que j'ai passé en haut. J'ai plus le port en entrée, puis le port en sortie sur ma version.

J'ai juste une liste de ports que je peux redergier vers un pc quelconque du reseau.

C'est bien ce que j'ai fait. Tout ce que reçois le routeur sur le port 1201 est retrasmis sur le pc que je veux atteindre. Dans mon cas c'est des requetes ssh sur le port 1201.

Quand je suis sur mon reseau et que j'essai de me connecter dessus directement par le port 1201

```
 comprendre que j'ai deja fait un 

ssh root@82.63.25.63

Puis que j'essai de faire ça : 

ssh -p 1201 lyes@82.6.25.63

et que ça échoue avec le message d'erreur en haut.

```

, ça ne marche pas.

Mais quand je suis déjà sur la machine, 

```
 comprendre :

j'ai déjà fait ça : 

ssh root@82.63.25.63

ssh -p 1201 lyes@[b]192.168.1.2[/b]

ça marche :)

```

et que j'essai de me logger directement sur moi meme en passant par le net : 

```
ssh -p 1201 lyes@82.69.58.63 
```

ça marche impec, c'est a dire que le routeur reçoit la requete, puis la retransmet a moi même. Sans me poser aucun soucis.

J'espère que c'est clair. Parceque c'est moi qui craque si non.

EDIT : j'ai fait un gros EDIT içi.Last edited by ablyes on Wed Apr 27, 2005 1:56 pm; edited 1 time in total

----------

## Enlight

 *Quote:*   

> Quand je suis en de mon reseau et que j'essai de me connecter dessus directement par le port 1201, ça ne marche pas.
> 
> Mais quand je suis déjà sur la machine, et que j'essai de me logger directement sur moi meme en passant par le net :
> 
> Code:
> ...

 

Heu honnetment, non c'est pas clair du tout...

----------

## ablyes

J'ai fait un edit sur le post précedent. 

Alors ?

stp ne te pose pas de question pourquoi je boucle ...

----------

## Enlight

 *ablyes wrote:*   

> J'ai fait un edit sur le post précedent. 
> 
> Alors ?
> 
> stp ne te pose pas de question pourquoi je boucle ...

 

Ah bah si car c'est plus que rare un routeur qui sait boucler! Je sais même pas si ça existe à vrai dire...

Et fait voir le fichier de conf de sshd stp y'a un truc que je cale pas dans cette histoire.

edit : Ouais ben nan c'est bien ça, ton routeur ne doit pas savoir boucler, ce qui me semble normal. mais de toute façon la meilleure config pour attendre les 2 c'est 1) te connecter sur ton ordi grace à la translation. 2) joindre le routeur depuis ton ordi. (et interdire l'accès ssh sur le routeur lui même depuis l'extérieur)

----------

## kernelsensei

certes, le routeur route ce qui vient sur le port 1201 vers la_machine_que_tu_veux_atteindre, mais est ce qu'il redirige aussi ce que repond la_machine_que_tu_veux_atteindre ?

parce que la si j'ai bien compris ca ressemble a ca :

Poste1 (la ou tu es) ---->-----:1201:Routeur:1201: ---->-----:1201:Poste2(Machine ou tu veux te logger en ssh)

mais est-ce que :

Poste1 (la ou tu es) ----<-----:1201:Routeur:1201: ----<-----:1201:Poste2(Machine ou tu veux te logger en ssh)

est aussi accepé par le routeur ?

----------

## ablyes

je sais justement pas comment ça marche. d'apres ton raisonement, faut que je rajoute une regle, mais je vois pas comment l'editer !

surtout que je ne peux pas rederiger vers deux machines differentes tout en étant sur le meme port.

non, non.. je pense pas que ça marche comme ça kernel_sensei.

(n'oublie pas que ma version du firmware ya pas de in et de out. ya juste une liste de ports a rederiger) (si cette fonctionnalité est qq part, je ne la vois pas du tout !).

toujours en train d'essayer !

a+

ps : le routeur sait boucler, ...il s'envoie juste des requetes. sous le tcp/ip on s'en fou.

----------

## Enlight

Si tu veux qu'on te le dise tu nous dit quel port tu utilises avec putty pour une connection directe à ta machine et tu fais péter le fichier de conf de sshd (3è édition)

Moi ce que j'en pense c'est que le routeur redirige ce qui arrive sur son 22 sur le 1201 de l'ordi.

Mouais nan ça colle pas avec ces 2 là ensemble

 *Quote:*   

>  comprendre :
> 
> j'ai déjà fait ça :
> 
> ssh root@82.63.25.63
> ...

 

j'ai le sentiment que c''est pas du NAT mais un truc de reconnaissance de protocole... zarb ... fait péter les infos!Last edited by Enlight on Wed Apr 27, 2005 3:28 pm; edited 1 time in total

----------

## ablyes

Ben c'est clair que c'est le port 1201. (bien au dessus des 1024 au cas ou).

Je donnerai le fichier de config de ssh plus tard, le pc en question est eteint, et ya plus personne à la maison. (a part si vous savez comment allumez une machine à distance, je veux bien moi ^^).

a+

----------

## Enlight

 *ablyes wrote:*   

> Ben c'est clair que c'est le port 1201. (bien au dessus des 1024 au cas ou).
> 
> Je donnerai le fichier de config de ssh plus tard, le pc en question est eteint, et ya plus personne à la maison. (a part si vous savez comment allumez une machine à distance, je veux bien moi ^^).
> 
> a+

 

Je me demande si c'est pas possible d'ailleurs vu le man de ma mobo... boot par périph ethernet dans mes souvenirs... on en fera un topic le moment venu!

----------

## ablyes

Je crois que ça serait tres interessant. 

quans je pars en vacances (meme vous d'ailleurs vous devez rencontrer ce probleme), - oué mais quand je pars en vacances c'est pour deux mois ^^ - j'ai besoin d'un petit fichier, photo, mp3, ou n'importe quoi que je ne peux pas avoir là ou je suis...et je veux pas laisser tourner un pc deux mois pour rien. (sécurité d'abord, le compteur est etteint).

+

----------

## Starch

Port forwarding ça te dit rien ?

<port_ssh_routeur> : le port qu'écoute le SSHD de ton routeur.

<ip_routeur> : l'ip (visible de ton boulot) de ton routeur.

<port_ssh_serveur> : le port qu'écoute le SSHD de ton serveur local.

<ip_serveur> : l'ip (visible de ton routeur) de ton serveur.

<port_quelquonque> : un port quelquonque, pourvu qu'il sorte/entre par le firewall de ton boulot:

<login_serveur> : le login de connexion sur le serveur.

<login_routeur> : le login de connexion sur le routeur.

<path> : chemin sur le serveur de ton fichier.

<path_local> : là où tu veux le récupérer au boulot

```

ssh -p <port_ssh_routeur> -L  <port_ssh_serveur>:<ip_serveur>:<port_quelquonque> <login_routeur>@<ip_routeur>

```

ensuite sur ta machine au boulot

```

scp -P <port_quelquonque> <login_serveur>@localhost:<path> <path_local>

```

[EDITÉ parce que je n'étais guère compréhensible]

----------

## Piaf

 *ablyes wrote:*   

>  (a part si vous savez comment allumez une machine à distance, je veux bien moi ^^).

 

Faut une carte réseau qui gère le Wake-On-Lan... et une autre machine sur le même réseau qui puisse lui envoyer un trame ethernet *magique*...

----------

## ablyes

To Starch :

Donc même en ayant pas configuré le routeur (si jamais j'avais un routeur pourri) j'aurais pu faire avec ces minips. 

Au tout début je cherchais ces manipulations justement. Bravo ! 

To Piaf :

1. Quelle commande sous windows ou linux permet de savoir si ta carte ethernet est compatible Wake-On-Lan. 

2. Ça marche surement pas pour les cartes wifi pcmcia car il est off (non alimenté) géneralement après l'extinction du pc. Mais celà marche-t-il avec une carte wifi pci ?

Revenons à nos moutons..oui j'ai enfin réussi  :Smile: .

Je me suis connecté cette fois à la fac. Et il me donne le même message d'erreur. Seuleument cette fois, vue que je connais l'arborescence, j'ai bien compris le message. 

J'ai simplement effacé les fichier sous .ssh de la machine de la fac.

Du routeur pour confirmer que ça boucle bien, et que le routeur sait faire je n'ai pas encore le temps.

Merci à tous.

Si quelqu'un a du mal, je peux maintenant l'aider.

----------

## ablyes

Une question me tronttine l'esprit.

1. Vue que mon port ssh est ouvert. Peut-on faire une attaque la dessus ? (Dictionnaire par exemple).

2. Y aurait-il un mecanisme de defence ssh, qui ferme le port si jamais ya plus de alpha tentatives échouées ?

3. Si la réponse est non, peut-on mettre en place un tel mécanisme ?

merci

----------

## kernelsensei

 *Quote:*   

> To Starch :
> 
> Donc même en ayant pas configuré le routeur (si jamais j'avais un routeur pourri) j'aurais pu faire avec ces minips.
> 
> Au tout début je cherchais ces manipulations justement. Bravo !

 

ben moi j'ai pas parle du port forwarding ca je pensais que t'avais deja fait une recherche et que t'avais trouvé ça  :Razz: 

----------

## marvin rouge

 *ablyes wrote:*   

> Une question me tronttine l'esprit.
> 
> 1. Vue que mon port ssh est ouvert. Peut-on faire une attaque la dessus ? (Dictionnaire par exemple).
> 
> 2. Y aurait-il un mecanisme de defence ssh, qui ferme le port si jamais ya plus de alpha tentatives échouées ?

 

tu peux essayer fail2ban , dévelloppé par LostControl (y'a même un ebuild)

----------

## ablyes

 *marvin rouge wrote:*   

>  *ablyes wrote:*   Une question me tronttine l'esprit.
> 
> 1. Vue que mon port ssh est ouvert. Peut-on faire une attaque la dessus ? (Dictionnaire par exemple).
> 
> 2. Y aurait-il un mecanisme de defence ssh, qui ferme le port si jamais ya plus de alpha tentatives échouées ? 
> ...

 

Je comprends que de base, ces mécanismes n'existent pas.

(sur d'autres OS non plus ? genre freeBsd ?)

C'est donc à chacun de se débrouiller. Faut que je vois si je peux compiler un truc et le mettre sur le routeur. Etant donné qu'il est doté de 32 mo de mémoire. 

Merci

----------

## ablyes

to Starch :

ta commande marche, seuleumenet elle copié le fichier sur la machine sur laquelle t'es connecté à distance, et non celle ou t'es physiquement.

c'est à dire que tu dupliques le fichier sur le même disque dur.

c'est pas ce que je veux faire. moi je veux exporter ce fichier.

----------

## Starch

chez moi ça marche (c)

(mais effectivement j'ai fait une petite erreur, j'édiite... pour scp c'est -P pour spécifier le port)

----------

## ablyes

ça devrait marcher ça ?

```

ssh -p 1111 lyes@82.68.52.36  <- le routeur forward vers ma machine

scp -p 1111 file user@localhost:local_dir

```

```

file se trouve sur la machine derriere le routeur

local_dir c'est le repertoire en local sur la becane du boulot.

```

----------

## Starch

Non.

Tu confonds tout...

- Soit tu ouvres un ssh sur ton routeur en forwardant des ports, ie, tu crées un tunnel entre la bécane où tu travailles et le serveur derrière le routeur  (à nuancer)... (ce que j'ai marqué), ce qui est une solution élégante je trouve -- mais qui ne devrait pas être utilisée dans ton cas (car en général on ne laisse pas un accès comme ça sur le routeur en dehors du réseau local, sauf dans des cas particuliers [je pense à un réadressage massif de routeurs auquel cas on pourrait avoir envie d'avoir une connexion de secours])

- Soit tu forwarde ton port avec le routeur, ce que tu sembles avoir fait, auquel cas, tu condères le couple routeur/port comme ta machine cible. En gros tu fais :

```

// ssh -p 1111 lyes@82.68.52.36  <- le routeur forward vers ma machine

scp -P 1111 user@82.68.52.36:file local_dir

```

----------

