Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/10/2012, à 14:09

ruf

[ ! ] connect SSH + SCP

Bonjour,

Voilà je reviens vers vous pour un point, et j’en suis persuadé, très facile à résoudre pour vous, mais pour ma part, si je continue sans aide, ce soir je n’ai plus de cheveux …

Je voudrais tout simplement me connecter en ssh depuis un serveur A sur un serveur B pour y lancer une commande scp vers le serveur A .
Vous allez peut être trouver cela bizarre mais c’est  bien ce que j’essaie de faire.
Je travail sur un panel de gestion capable d' y inserez des commande ssh.

Cela parait simple dans l idée, mais un point me bloque .. Le port !

Mon serveur A tourne sur un port diffèrent et quand je lance la commande :

ssh user@SERVERB scp -P XXX /Dossier/a/envoyer/ user@SERVERA:destination/du/dossier/

il me retourne l’erreur :

ssh: connect to host SERVERA port 22: Connection refused

J' arrive donc a me connecter sur le serveur B mais le port du serveur A me bloque pour que le scp ce passe tranquillement .

J’ ai essayé la commande dans tous les sens mais rien y fait …

NB : j' ai la meme erreur en essayant avec Rsync au lieu de Scp ..

Je commence à devenir chauve aidez-moi please wink

Dernière modification par ruf (Le 17/10/2012, à 15:07)


HOSTLAB Coming soon

Hors ligne

#2 Le 15/10/2012, à 16:37

nesthib

Re : [ ! ] connect SSH + SCP

Étrange, « -P 1234 » est  pourtant la bonne option. Est-ce que ça fonctionne si tu lances la commande depuis un shell sur serveurA ?

avec rsync :

rsync -e 'ssh -p 1234' …

Sinon, très honnêtement, change ton /etc/ssh/sshd_config et configure le port d'écoute sur 22. Changer le port n'apporte aucune sécurité supplémentaire et induit simplement ce genre d'inconvénients.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 15/10/2012, à 16:49

ruf

Re : [ ! ] connect SSH + SCP

Oui effectivement cela est étrange car sur les SHELL, A ou B, les commande fonctionne, mais dès que je lance la commande entière dans le shell A j’ai ce problème ..

Le hic c' est que je ne suis pas l' administrateur réseau, je ne peux donc me permettre de changer le port d' écoute , (meme si techniquement je peux le faire) sous peine de m' en prendre plein la G**** par mes patrons ...

C' est pour cela que je me retourne vers vous!

En tout cas, merci de prendre de votre temps pour m' aider à résoudre ce problème . cool


HOSTLAB Coming soon

Hors ligne

#4 Le 15/10/2012, à 17:01

nesthib

Re : [ ! ] connect SSH + SCP

dans ce cas fais simplement :

ssh u@h 'scp … '

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 15/10/2012, à 17:07

ruf

Re : [ ! ] connect SSH + SCP

J' ai fait comme vous me l' avez indiquer, donc, si je ne me suis trompé :

ssh -p XXX user@SERVER_B scp /dossier/a/dl/ -P XXX user@SERVER_A:/dossier/de/destination/

Mais cela me retourne :

ssh: connect to host SERVER_A port 22: Connection refused
lost connection

Ca me rend fou hmm


HOSTLAB Coming soon

Hors ligne

#6 Le 15/10/2012, à 19:09

ruf

Re : [ ! ] connect SSH + SCP

Up :'(


HOSTLAB Coming soon

Hors ligne

#7 Le 15/10/2012, à 19:28

Pseudo supprimé

Re : [ ! ] connect SSH + SCP

scp direct. (scp est déjà une commande ssh)

#8 Le 15/10/2012, à 20:38

nesthib

Re : [ ! ] connect SSH + SCP

Non tu n'as pas fait comme je préconise, tu as oublié les guillemets.

ssh -p XXX user@SERVER_B 'scp /dossier/a/dl/ -P XXX user@SERVER_A:/dossier/de/destination/'
                         ↑                                                                ↑

@Titouan : non, en l'occurrence scp permet de préciser le shell distant à utiliser.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#9 Le 16/10/2012, à 17:37

ruf

Re : [ ! ] connect SSH + SCP

J' ai bien placé la commande citée et toujour la meme erreur ... Je me demande vraiment ce qui peut bloquer ..

Je me suis amusé aussi à placer les guillemet a tel ou tel endroit et toujour rien.

Les seul avancée que j ai pu avoir en deplacant la commande dans tous les sens etait etait :

/dossier/de/destination//dossier/a/dl : permission denied .

(Au passage, ca y est je suis chauve xD )


HOSTLAB Coming soon

Hors ligne

#10 Le 16/10/2012, à 21:20

ruf

Re : [ ! ] connect SSH + SCP

Merci à tous, probléme résolue !

Bon y a toujours un petit hic mais je vais déja chercher avant de revenir vous harceler ! big_smile

See you


HOSTLAB Coming soon

Hors ligne

#11 Le 17/10/2012, à 03:50

nesthib

Re : [ ! ] connect SSH + SCP

Quand tu reviendras précise aussi comment tu as résolu ton problème, ça pourra aider d'autres personnes wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#12 Le 17/10/2012, à 14:45

ruf

Re : [ ! ] connect SSH + SCP

Tu a raison nesthib, autant partager ses propres connaissances comme vous avez pu le faire avec moi !

Donc la commande juste est celle ci :

ssh -p XXXX user@SERVER_B "scp -P XXXX -r /Dossier/a/dl/ user@SERVER_A:/Dossier/de/destination/"

Donc c' etait bel et bien une histoire d' argument ( " ) Et maintenant, c' est ok big_smile !

Bon le but de ce post etait de vous résumer comment j' ai pu résoudre ce probléme, mais il y a encore deux point qui me chagrine ...

Allé, meme si je devrais ouvrir une nouvelle discution, je vais poster au meme endroit.

Donc, comme résumé plus haut, je travail donc sur un panel de gestion qui me permet d' injecter des commande ssh (ou autres).
Quand je lance la commande cité plus haut dans la console, je n' ai aucun soucis, cela ce telecharge tranquillement (quoi que je trouve, selon la taille du dossier, que le SERVEUR_A consomme enormement de ram, mais c' est un point que je cherche encore a résoudre)
Le truc qui me chagrine donc, c' est que quand je la lance donc sous shell, 0 probleme, mais dés que je l' injecte dans ce fameux panel, j' ai ce petit point qui fait la difference dans les logs :

Keyfingerprint quelquechose : yes or no (J' ai pas les logs sous les yeux desolé)

Pourquoi me demande t' il oui ou non avec le panel alors que sur le shell il y va tranquille?

Y a t' il une commande a rajouter a ma ligne ?

Je continue a chercher pour le momen,t et si je trouve, je vous mettrai ma solution !

See you


HOSTLAB Coming soon

Hors ligne

#13 Le 17/10/2012, à 16:11

nesthib

Re : [ ! ] connect SSH + SCP

Étrange pour le coup des guillemets doubles, je ne comprends pas pourquoi ça ne fonctionne pas avec les simples…

Si tu cherches à faire de l'automatisation de connexion ssh, je te recommande python et paramiko/fabric, qui est déjà optimisé pour ce genre de choses. Tu n'auras pas un empilement de couches ssh/shell/…

Si l'on te demande de vérifier la signature (fingerprint) du serveur, c'est que tu t'y connectes pour la première fois. C'est une sécurité qui permet d'être sûr que la machine que tu contactes est bien ton serveur. Il faut vérifier la somme de contrôle et valider. Une fois validés, les hôtes de confiance sont stockés dans ~/.ssh/known_hosts. Je suppose que tu lances ton « panel » avec un utilisateur ou une machine différente.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#14 Le 17/10/2012, à 17:02

ruf

Re : [ ! ] connect SSH + SCP

Encore merci pour tes réponse tres rapide nesthib ,

pour le coup des double guillemet, c' est etrange mais bon tant que ca marche maintenant , et je t' en remercie encore smile

Je ne connais pas vraiment python et paramiko/fabric, mais je vais me pencher dessus, malheureusement, pas maintenant, car j' ai une deadline assez limite la ... Pourquoi pas pour la version 1.2 smile

Pour le fingerprint, c' est tres bysarre mais je vais te resumer la situation pour que tu comprenne mieu :

Donc j' ai installé un ESXi avec VMware dessus qui heberge 3 Vm's sous debian squeeze.

SRVHPA01 (le panel admins/clients )
SRVPROD01 (le serveur principal, qui regroupe les clients etc)
SRVFTP01 (le serveur que je dirais de "données")

A savoir que tous les serveurs sont a :
Rootpermitlogin no

Donc impossible de ce connecter en tant que root .

Et que le SRVHPA01 et SRVPROD01 ont sudo mise en place.

Pour que le SRVPROD01 communique avec le SRVHPA01 je dois demarrer un script en sudo (sudo /etc/init.d/panel start )
Mais quand j' inscris une commande (ssh, scp, rsync) dans mon panel, je ne dois pas mettre sudo, ce qui veut dire que le SRVHPA01 envoie les commande au SRVPROD01 en tant que root qui lui execute la commande (scp,rsync,ssh) aussi en tant que root pour allé chercher les fichiers voulus sur le SRVFTP01.
Et le hic, c' est que je ne veut pas generer de Key pour le root (par securiter)

J' espere que tu arrive a me suivre big_smile

Ce que je ne comprend pas, c' est que quand je lance en shell "x" ou "y" commande je n' ai pas de probléme de "fingerprint", hors, avec le panel, oui ...
J' ai aussi un autre probleme (j' ai ouvert un autre post pour ca), c' est qu' au transfert de donnée sur le SRVPROD01, le serveur ce met a utiliser toutes la ram (7Go installé), je le voit en fesant des free -m repetitifs et ca monte petit a petit mais rapidement, celon le dossier telecharger, j' arrive a saturer ma RAM ...
Je suis en train de regarder du coter de ulimit pour limiter, par exemple ma commande a 1024.. Mais est ce que ca va marcher ?!? Je ne peut encore dire .

Merci encore pour ton aide.


HOSTLAB Coming soon

Hors ligne

#15 Le 18/10/2012, à 06:46

nesthib

Re : [ ! ] connect SSH + SCP

ruf a écrit :

J' espere que tu arrive a me suivre big_smile

non, pas vraiment ^^

ruf a écrit :

Ce que je ne comprend pas, c' est que quand je lance en shell "x" ou "y" commande je n' ai pas de probléme de "fingerprint", hors, avec le panel, oui ...

As-tu compris ce qu'était ce « fingerprint » ? Peux-tu lancer une connexion ssh depuis la machine de prod sans passer pas ton script ? Je suis convaincu qu'il y a un problème d'utilisateur ou de variables d'environnement et qu'au final tu ne lances pas ssh dans le même conditions avec ou sans ton script. Ce qui est étrange est que l'utilisation de sudo conserve ton environnement, tu devrais donc disposer du même home et du même ~/.ssh/…

Sinon, je me trompe peut être mais j'ai l'impression que tu te mélanges un peu les pédales avec les utilisateurs et les droits de tous tes serveurs. Je ne comprends notamment pas pourquoi tu as besoin de root pour ces transferts de fichiers.

ruf a écrit :

J' ai aussi un autre probleme (j' ai ouvert un autre post pour ca), c' est qu' au transfert de donnée sur le SRVPROD01, le serveur ce met a utiliser toutes la ram (7Go installé), je le voit en fesant des free -m repetitifs et ca monte petit a petit mais rapidement, celon le dossier telecharger, j' arrive a saturer ma RAM ...
Je suis en train de regarder du coter de ulimit pour limiter, par exemple ma commande a 1024.. Mais est ce que ca va marcher ?!? Je ne peut encore dire .

Je n'ai pas toutes les clés en main pour juger, mais pour être honnête je dirais que la cause la plus probable pour ta saturation de mémoire est que tu as mal codé quelque chose dans ton « panel » (je n'ai toujours pas compris ce qu'était ton « panel », ni le contexte de ce que tu fais d'ailleurs). Je n'arrive pas à imaginer qu'une utilisation correcte de rsync consomme 7Go de mémoire… Dans ce cas, configurer ulimit n'y changera rien. Ça évitera peut être le déni de service de ta machine mais ça ne résoudra pas le fond du problème. Il y a forcément quelque chose d'autre qui cloche.

Bref, pour conclure je sais que tu as des délais à respecter mais je pense que tu devrais te pencher sérieusement sur l'architecture de ton service, j'ai l'impression qu'il y a beaucoup de complexité inutile et que tu y gagnerais à repartir sur des bases saines (encore une fois je dis ça à la lumière de ce que tu expliques ici puisque je n'ai aucune idée de la teneur du projet).


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne