2010-07-14 5 views
3

J'ai besoin de télécharger des fichiers par SFTP à partir d'un script PHP. Je pense que cURL est probablement le moyen, comme je l'ai disponible sur le serveur.cURL pour SFTP avec authentification par clé privée

Quelqu'un at-il un exemple d'utilisation de cURL pour SFTP à l'aide de l'authentification par clé d'identité?

- EDIT -

Je viens de remarquer que HTTP PUT pourrait être une alternative, mais comment cette sécurité?

Répondre

4
curl -u <username>: --key ~/.ssh/id_rsa --pubkey ~/.ssh/id_rsa.pub sftp://<remote_host>/<remote_path> 

HTTP est non garanti, de sorte que les données que vous envoyez pendant PUT (par exemple un mot de passe ou les fichiers que vous téléchargez) pourraient être snooped et lire en texte brut. Selon votre application, cela peut ou peut ne pas vous préoccuper.

+0

Pourquoi le curl nécessite-t-il à la fois la clé et la clé publique? – Angelo

+1

@Angelo: * A partir de la version 7.39.0, curl tente d'extraire automatiquement la clé publique du fichier de clé privée, donc il n'est généralement pas nécessaire de passer cette option. * Source: http://curl.haxx.se/docs/manpage .html – idontevenseethecode

+0

Je suppose que je veux dire: pourquoi curl l'exige-t-il et ssh ne le fait pas? Est-ce que ssh est moins sûr pour les attaques man-in-the-middle? – Angelo