如何搭建 FTP 服务

Linux 主机

首先创建一个 Linux 主机(以 CentOS 为例),并在亦云防火墙中打开 tcp 21 下行,并“更新规则”。 如果此主机是在私有网络中,除了防火墙规则,还需要在私网所连接的路由器中将所需端口转发给这个主机。 下面简单介绍下安装 vsftpd 和 proftpd 的注意事项:

  • vsftpd 安装
yum install vsftpd

修改配置文件 /etc/vsftpd.conf 后,重启生效

service vsftpd restart

如果你的 ftp client 位于 NAT 之后,ftp server 必须启用 passive mode ,编辑 /etc/vsftpd.conf

pasv_enable=Yes
pasv_max_port=21000
pasv_min_port=20000
pasv_address=your.ftp.server.public.ip

安全起见,vsftpd 默认配置是不允许 root 登录的。如果确实需要,可以在 /etc/vsftpd/user_list 文件中把 root 那一行删除或者注释掉, 同样把 /etc/vsftpd/ftpusers 文件中的 root 也注释掉。然后重启 vsftpd 就可以了。

  • proftpd 安装
yum install proftpd

修改配置文件 /etc/proftpd/proftpd.conf 后,重启生效

service proftpd restart

如果你的 ftp client 位于 NAT 之后,proftpd server 必须启用 passive mode , 在 /etc/proftpd/proftpd.conf 中打开 PassivePorts 和 MasqueradeAddress :

PassivePorts 20000 21000
MasqueradeAddress ftp.server.public.ip

注解 被动模式的端口范围可以任意指定,不过请记得打开防火墙中对应的端口范围, 如 FTP 服务器是在私有网络内,还要留意路由器内是否正确转发了所需端口。 还有修改配置文件后记得重启 FTP 服务使之生效。

Windows 主机

首先创建一台 Windows 主机,以 Windows Server 2003例,在青云防火墙中打开 TCP 21 下行规则,并“应用修改”。 如果此主机是在私有网络中,除了防火墙规则,还需要在私有网络所连接的路由器中将所需端口转发给这个主机。

下面简单介绍下 FTP 服务器的安装步骤和注意事项,以 FileZilla 为例:

  • 安装

    点击链接下载安装包。解压并双击 .exe 文件进行安装。 若无特殊需求,按照提示选择默认选项安装即可。到最后一步时,点击“OK”完成安装。

    image

  • 添加用户

    点击菜单中的“编辑 Edit” - “用户 Users”,在弹出的对话框中点击 “用户 Users” 区域中的 “添加 Add” 按钮,输入用户名,确认后可以设置用户密码,以及可访问的文件路径。

    image image image

    用户添加设置完成后点击左下角的“确认 OK” 按钮完成操作。

  • 设置服务器

    如果你的 ftp client 位于 NAT 之后,则需要启用 FTP 服务的“被动模式 Passive Mode”, 具体设置步骤是:选择菜单中的“编辑 Edit” - “设置 Settings”,在弹出的对话框中点击“被动模式设置 Passive mode settings”。 并勾选“自定义端口范围 Use Custom Port Range”,并输入端口范围,例如:10000 - 11000。

    image

    完成以上操作后则完成了 FTP 服务器的搭建,可以开始连接服务器进行文件的传输操作。

通过 SFTP 方式传输文件(通过 SSH 的方式传输文件)



如果主机开启了 SSH 服务,则无需在主机上建立 FTP 服务,客户端直接利用 SSH 传输文件。

以 FileZilla 为例:

  1. 菜单栏依次打开【文件】-【站点管理器】,打开站点管理器

  2. 点击新站点按钮建立新的站点连接

  3. 在该站点的右边配置项依次填入主机相关信息

  • 通过密钥连接(推荐)

    • 主机:主机 IP 及 SSH 端口
    • 协议:SFTP - SSH File Transfer
    • 登陆类型:密钥文件
    • 用户:SSH 登陆的用户名
    • 密钥文件:选择你的私钥文件,通常为 ~/.ssh/id_rsa

      点击【连接】,会弹出把 sshkey 转换成 FileZilla 所接受的 key 的格式的窗口,确认即可。然后再密钥文件里选择生成的 key 文件,点击【连接】即可连接成功。

  • 通过密码连接

    • 主机:主机 IP 及 SSH 端口
    • 协议:SFTP - SSH File Transfer
    • 登陆类型:询问密码
    • 用户:SSH 登陆的用户名

      点击【连接】,会弹出窗口,然后输入正确的服务器 ssh 登陆的密码即可连接成功。