标签 "FTP" 下的文章

FileZilla Server 0.9.39升级后, 进入管理面板, 会出现如下警告提示:
You appear to be behind a NAT router. Please configure the passive mode settings and forward a range of ports in your router.
Warning: FTP over TLS is not enabled, users cannot securely log in.
表示未启用tls模式, 为此今天特别实地操作了一次.
01

进入设置->ssl/tls设置.
02

生成一个新证书. 服务器地址用机器的ip即可.
03

点击生成证书, 一会儿就提示成功.
04

密钥的密码随意输入一个. 注意看下面有一个端口. 这是表示ssl, tls连接端口.
最后点击左下的确认即可.
05

当你用sll 或者 tls连接时, 它会提示你证书信息, 你选择通过并且保存即可
06

FTP日志显示, tls加密连接成功..
07

默认的ftp模式, 21端口是无法连接的.
08

你会收到它的异常信息.
09

Implicit SSL 端口为990, 可以连接. 这端口号也就是刚才设置中那个.
explicit SSL 端口为21, 可以连接.
explicit TLS 端口为21, 可以连接.
10

个人推荐用: Implicit SSL

lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

~/.lftprc

在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码,^_^不用慌,这是由于服务器和本地编码不一致造成的。我们只要在主目录下新建一个文件~/.lftprc或者~/.lftp/rc

并在其中加入以下内容:

debug 3
set ftp:charset GBK
set file:charset UTF-8
#set ftp:passtive-mode no
#alias utf8 " set ftp:charset UTF-8"
#alias gbk " set ftp:charset GBK"

登录ftp服务器

言归正传,我们先来看看怎么登录ftp服务器

lftp ftp://user:password@site:port
lftp user:password@site:port
lftp site -p port -u user,password
lftp site:port -u user,password

上面的几种方式都能正常工作,不过密码都是明文,这样好像不太安全哦。没关系

lftp user@site:port

系统会提示输入password,密码就回显为******了,不过每次都输入这么多,真的好麻烦哦。 如果有类似leapftp的站点管理器就好了,其实lftp早就给我们想好了: 这就是bookmark。后面我们将会看到。

常用命令

在终端运行

man lftp

或登录ftp后输入

help

命令行语法
要看lftp的命令行语法,只要在shell中输入lftp --help
lftp [OPTS]

'lftp'是在 rc 文件执行后 lftp 执行的第一个命令

-f 执行文件中的命令后退出
-c 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出

其他的选项同 'open' 命令
-e 在选择后执行命令
-u [,] 使用指定的用户名/口令进行验证
-p 连接指定的端口

就可以看到命令列表

下面我们看一下lftp常用的命令:

ls:显示远端文件列表(!ls 显示本地文件列表)。
cd:切换远端目录(lcd 切换本地目录)。
get:下载远端文件。
mget:下载远端文件(可以用通配符也就是 *)。
pget:使用多个线程来下载远端文件, 预设为五个。
mirror:下载/上传(mirror -R)/同步 整个目录。
put:上传文件。
mput:上传多个文件(支持通配符)。
mv:移动远端文件(远端文件改名)。
rm:删除远端文件。
参数-r,递归删除文件夹
mrm:删除多个远端文件(支持通配符)。
mkdir:建立远端目录。
rmdir:删除远端目录。
pwd:显示目前远端所在目录(lpwd 显示本地目录)。
du:计算远端目录的大小
set net:limit-rate 10000,10000:限制上传下载各为10KB/s
set ftp:charset gbk:设置远程ftp site用gbk编码
!:执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)
lcd:切换本地目录
lpwd:显示本地目录
alias:定义别名
bookmark:设定书签
exit:退出ftp

快捷书签

ftp中的bookmark命令,是将配置写到~/.lftp/bookmarks文件中;我们可以直接修改此文件,快速登陆ftp服务器。

例如添加一行:

echo 'uftp ftp://user:passwd@ftp.ubuntu.org.cn' >> ~/.lftp/bookmarks

lftp的bookmarks文件书写格式为:

别名<空格>ftp://user:passwd@site:port

以后要登陆ubuntu-cn的ftp,只要执行:

lftp uftp

其它客户端:
kftpgrabber:KDE下ftp客户端,支持编码选择。对中文支持较好
gftp:gnome下ftp客户端,目前对中文支持尚不太好,受抱怨颇多。
fireftp:firefox的ftp客户端插件,新版对中文支持较好。
FileZilla:对中文支持较好
CrossFTP:基于Java的稳定ftp客户端和同步工具。优良的中文/Unicode支持。

原因分析:原因分析:从0.9.14版之后用的字符集是UTF8,使用0.9.14及之前的版本是没有中文乱码问题的。FTP服务器传出的数据不是UTF-8编码的,而FileZilla等客户端采用UTF-8编码接收数据,故无法正确显示中文。
解决方法:
1. 下载FileZillaPV这个补丁(注意选择对应的版本)。
下载地址:http://sourceforge.net/projects/filezillapv/
选择Patched FileZilla Server这一项。
20131031080110_01

下载对应版本的文件。
20131031080111_02

2. 停止FileZilla Server服务。在这一步挣扎了一下。
20131031080111_03

尝试从任务管理器-服务停止,失败。无权限。
20131031080111_04

20131031080111_05

所以,在安装目录下找到FileZilla Server.exe-右键-以管理员的身份运行
20131031080112_06

出现“Stop Server”提示框-点击“是”
20131031080112_07

3. 将解压出来的FileZilla server.exe 替换安装目录下的FileZilla server.exe文件。
4.替换完后,要以管理员身份先运行FileZilla Server.exe,再打开FileZilla Server Interface.exe就行了。不以管理员身份先运行FileZilla Server.exe会出现连接错误。
20131031080112_08

启动服务后一切恢复正常。 使用其它任何客户端访问ftp都不会出现乱码了。