Linux的命令行FTPS(非SFTP)客户端


42

我需要在Linux机器上设置脚本以使用FTPS从服务器下载文件,我有什么选择?

Answers:


40

您可以使用lftp,它可以轻松处理ftp,并制作“ lftp-script”

lftp脚本:

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

和:

lftp -f lftp-script

或使用lftpget:

lftpget ftps://user:password@ftp.blah.org/path/to/file.iso

2
对于lftp +1。IMO,这是最好的命令行ftp客户端。
cas

15

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


2
如果您无法安装lftp,curl似乎是唯一的选择(通常作为所有主要发行版的核心实用程序提供)
Ray

2

ncftpget

ncftpput

我认为它与ncftp一起提供。

编辑:我的错,不是我认为的SFTP支持。从NCFTP常见问题解答

问:NcFTP是否支持SFTP / SSL / SSH隧道中的任何安全FTP模式?

答:NcFTP没有任何内置的加密或任何类型的安全FTP支持。我们不支持与黑客的任何类型的交互,例如通过SSH隧道的FTP。我们将来可能会实施安全的FTP模式,但请不要要求提供ETA。


从FAQ条目来看,我认为NcFTP仅指SFTP,而不是 FTPS。SFTP是在安全SSH 连接(因此默认为SSH端口22)内部进行文件传输的 ,例如scp,甚至不需要FTP服务器。另一方面,FTPS是使用SSL加密和证书的FTP,类似于HTTP / HTTPS,并且使用另一组端口(默认情况下为
990、991

2

curlftpfs是您的朋友。这很棒。

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

然后将此添加到您的fstab

curlftpfs#myusername:mypassword@myhost.ca:/my/remote/path  /my/local/path  fuse  user,noauto,defaults,sslv3,no_verify_peer  0  0

最后,只需将该目录安装在本地文件系统上:

$ mount /my/local/path

现在您可以cp甚至rsync从一个本地目录到另一个本地目录。


1
我想你的意思是emerge curlftpfs
乔恩·L.

糟糕,您完全正确。全部修正:-)
Daniel Quinn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.