ftp avec php => cles ssh

ftp avec php => cles ssh - PHP - Programmation

Marsh Posté le 30-03-2005 à 12:05:35    

Bonjour
J'ai un ptit probleme .
Je suis en train de porter sous linux (php/Mysql) une application qui fonctionnait jusquela sous microsoft(VBA/ACCESS).
Je recode actuellement en php un module qui downloade depuis un ftp un fichier puis le traite (tous les jours).
Sous VBA je l'avais code comme un porc et pour faire mes downloads je lancais un batch dos contenant ma ligne de connexion et je renseignais un autre fichier (qui servait de batchfile avec mes instructions put,get,du fichier dont le nom change tous les jours).
je desire maintenant tout faire avec php et ne plus faire appel a des batch externes.
J'utilise donc la commande ftp_connect mais il se trouve que le ftp que je desire atteindre demande une authentification par cle ssh.J'ai donc genere cette cle et lorsque j'essaie de me connecter via sftp ca fonctionne nickel.
Seulement dans mon code php ca foire ftp_connect($hote) ne me donne rien et je dois faire un ctr-Z pour arreter mon programme (bien que sur un ftp non protege par authentification ssh cette fonction fonctionne parfaitement).
 
Quelqu'un aurait une ptite idee?

Reply

Marsh Posté le 30-03-2005 à 12:05:35   

Reply

Marsh Posté le 30-03-2005 à 16:39:34    

bon apparement ca inspire pas grand monde
je crois que je vais me tourner vers perl pour faire ce super truc.

Reply

Marsh Posté le 30-03-2005 à 16:47:15    

tient ben meme perl se bloque lors de la connexion
en gros y a qu'avec sftp que j'y arrive

Reply

Marsh Posté le 30-03-2005 à 16:54:45    

ftp != ssh
 
c'est l'un ou l'autre, pas les deux.

Reply

Marsh Posté le 30-03-2005 à 17:15:21    

Oui d'accord, mais avec ssh on a la possibilite de faire des tunnels.
SFTP c'est ca il me semble, c'est simplement le protocole ftp via un tunnel ssh.
 
J'ai regarde dans la doc de php, et je n'ai rien vu concernant l'etablisement de connexions faite en ssh, donc pour ssh et sftp cela m'a l'air un peu mort :/
 
Si quelqu'un trouve des infos, je suis interesse .

Reply

Marsh Posté le 30-03-2005 à 17:23:51    

donc la seule solution reviendrait a ecrire un de ces maudits batchs qui utiliserait sftp

Reply

Marsh Posté le 30-03-2005 à 21:32:14    

Bon tu pourrais directement lancer sftp via php, mais tu dois toujours passer par un programme tiers pour recuperer tes fichiers.

Reply

Marsh Posté le 31-03-2005 à 09:46:32    

faudrait que je lance un batch a partir de mon code php (system()).
Mais il y a un seul petit probleme (dois je creer un topic dans la section batch pour cela?) il est impossible de donner le mdp en ligne de commande sur sftp (il doit obligatoirement etre entre au prompt).
Donc j'imagine tres bien koi faire : lancer sftp a partir d'un batch appele par la fonction system de php (que c'est lourd!!!) avec en argument un batchfile cree a la volee mais par contre cette histoire de mdp me bloque tout!
Merci de votre aide
P.S : Je suis une quiche en batch .

Reply

Marsh Posté le 31-03-2005 à 10:51:44    

j ai bien evidemment essaye un truc du style:

Code :
  1. #!/bin/sh
  2. sftp user@host <<EOF
  3. PASSWORD
  4. get file.txt
  5. EOF


mais il m'ignore totalement les commandes

Reply

Marsh Posté le 31-03-2005 à 11:57:31    

http://fr.php.net/manual/en/ref.ssh2.php
 
Encore une fois, tout est dans la doc ;)

Reply

Marsh Posté le 31-03-2005 à 11:57:31   

Reply

Marsh Posté le 31-03-2005 à 13:56:20    

merci ratibus (j'avais lu cette doc) mais seulement je n'arrive pas a installer ssh2 sur mon serveur (une erreur assez bizare lors du make de libssh2).
La soluce du shell donc (avec scp plutot que sftp) me conviendrait bien

Reply

Marsh Posté le 03-04-2005 à 17:00:24    

apres des heures de galere pour installer ssh pour php je me suis tourne vers PERL qui repond a mes attentes et dont l'installation des modules specifiques est plus aisees
merci de votre aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed