Client FTPS en ligne de commande (pas SFTP) pour Linux [fermé]

42

J'ai besoin de configurer un script sur une machine Linux pour télécharger des fichiers d'un serveur utilisant FTPS, quelles sont les options dont je dispose?

utilisateur18682
la source

Réponses:

40

Vous pouvez utiliser lftp, il gère facilement les ftps et crée un "script lftp"

lftp-script:

debug 10
open ftps://ftp.blah.org
get <yourfile>

Et:

lftp -f lftp-script

Ou utilisez lftpget:

lftpget ftps://user:[email protected]/path/to/file.iso
rkthkr
la source
2
+1 pour lftp. IMO c'est le meilleur client FTP en ligne de commande.
cas
15

curl ftps: //server.com/ ou curl --ftp-ssl ftp://server.com/

Bob
la source
2
Si vous ne pouvez pas installer lftp, curl semble être la seule option (il est généralement inclus comme utilitaire principal sur toutes les distributions principales)
Ray
2

ncftpget

ncftpput

Je pense qu'il est livré avec ncftp.

EDIT: Ma faute, pas le support SFTP, je pense. De la FAQ NCFTP :

Q. NcFTP prend-il en charge des modes FTP sécurisés dans les tunnels SFTP / SSL / SSH?

R. NcFTP ne prend pas en charge le cryptage ou le FTP sécurisé de quelque type que ce soit. Nous ne prenons en charge aucun type d’interaction avec des hacks tels que FTP sur des tunnels SSH. Nous pouvons implémenter un mode FTP sécurisé à une date ultérieure, mais veuillez ne pas demander un ETA.

SourceRebels
la source
À en juger par la FAQ, je pense que NcFTP fait uniquement référence à SFTP, pas à FTPS. SFTP est un transfert de fichier dans une connexion SSH sécurisée (d'où le port 22 par défaut de SSH), par exemple scp, et vous n'avez même pas besoin d'un serveur FTP. FTPS, en revanche, est un protocole FTP utilisant un cryptage et des certificats SSL, analogue à HTTP / HTTPS, et utilisant un autre ensemble de ports (par défaut, 990, 991 et peut-être 989)
MestreLion
2

curlftpfs est votre ami. C'est génial.

# emerge curlftpfs  (or apt-get, yum, whatever)

Ajoutez ensuite ceci votre fstab:

curlftpfs#myusername:[email protected]:/my/remote/path  /my/local/path  fuse  user,noauto,defaults,sslv3,no_verify_peer  0  0

Enfin, montez simplement ce répertoire sur votre système de fichiers local:

$ mount /my/local/path

Et maintenant, vous pouvez cpou même rsyncd’un répertoire local à un autre.

Daniel Quinn
la source
1
Je pense que tu voulais direemerge curlftpfs
Jon L.
Oups, tu as tout à fait raison. Tout est corrigé :-)
Daniel Quinn le