找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 26939|回复: 0

服务器FTP/SFTP服务安装与文件传输配置

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2026-8-11 07:38:32 | 显示全部楼层 |阅读模式
在服务器上安装和配置FTP/SFTP服务以实现安全的文件传输,通常涉及以下几个关键步骤。这里以常见的Linux服务器为例,介绍如何安装vsftpd(FTP)和OpenSSH(包含SFTP)服务,并进行基本配置。




一、FTP服务安装与配置(以vsftpd为例)

1. 安装vsftpd

在基于Debian的系统上:
  1. sudo apt update
  2. sudo apt install vsftpd
复制代码

在基于RHEL的系统上:
  1. sudo yum install vsftpd
  2. # 或对于较新的系统
  3. sudo dnf install vsftpd
复制代码

2. 配置vsftpd

vsftpd的主要配置文件是
  1. /etc/vsftpd.conf
复制代码
。以下是一些基本配置选项:

  • 匿名访问:通常不建议在生产环境中启用。

  1. anonymous_enable=NO
复制代码

  • 本地用户访问

  1. local_enable=YES
  2.   write_enable=YES
复制代码

  • chroot限制:限制用户只能访问其主目录。

  1. chroot_local_user=YES
  2.   # 或者针对特定用户
  3.   chroot_list_enable=YES
  4.   chroot_list_file=/etc/vsftpd.chroot_list
复制代码

  • 被动模式(如果需要):

  1. pasv_enable=YES
  2.   pasv_min_port=40000
  3.   pasv_max_port=50000
复制代码

3. 防火墙配置

确保防火墙允许FTP流量:
  1. sudo ufw allow 20/tcp       # FTP数据端口
  2. sudo ufw allow 21/tcp       # FTP控制端口
  3. sudo ufw allow 40000:50000/tcp  # 被动模式端口范围
复制代码

或使用firewalld:
  1. sudo firewall-cmd --permanent --add-port=21/tcp
  2. sudo firewall-cmd --permanent --add-port=40000-50000/tcp
  3. sudo firewall-cmd --reload
复制代码

4. 启动并启用vsftpd
  1. sudo systemctl start vsftpd
  2. sudo systemctl enable vsftpd
复制代码




二、SFTP服务配置(通过OpenSSH)

SFTP通常作为OpenSSH的一部分提供,因此只需配置SSH服务器即可。

1. 确保OpenSSH已安装

大多数Linux发行版默认已安装OpenSSH。如未安装:
  1. sudo apt install openssh-server  # Debian/Ubuntu
  2. sudo yum install openssh-server  # RHEL/CentOS
复制代码

2. 配置SSH以支持SFTP

SSH的配置文件是
  1. /etc/ssh/sshd_config
复制代码
。要启用SFTP,通常不需要额外配置,因为SFTP是SSH的子系统之一。但你可以限制用户仅使用SFTP:
  1. # 在sshd_config中添加或修改
  2. Subsystem sftp internal-sftp
  3. # 限制特定用户或组仅使用SFTP
  4. Match Group sftpusers
  5.     ChrootDirectory /var/sftp
  6.     ForceCommand internal-sftp
  7.     AllowTcpForwarding no
  8.     X11Forwarding no
复制代码

然后,创建相应的用户和目录:
  1. sudo groupadd sftpusers
  2. sudo useradd -g sftpusers -s /bin/false -d /var/sftp/username username
  3. sudo passwd username  # 设置密码
  4. sudo mkdir -p /var/sftp/username
  5. sudo chown root:root /var/sftp
  6. sudo chmod 755 /var/sftp
  7. sudo mkdir /var/sftp/username/uploads
  8. sudo chown username:sftpusers /var/sftp/username/uploads
  9. sudo chmod 775 /var/sftp/username/uploads
复制代码

3. 重启SSH服务
  1. sudo systemctl restart sshd
复制代码




三、客户端连接

  • FTP:使用FTP客户端(如FileZilla)连接到服务器的IP地址,端口21,使用用户名和密码登录。
  • SFTP:使用SFTP客户端(如WinSCP、FileZilla或命令行
    1. sftp
    复制代码
    )连接到服务器的SSH端口(默认22),使用相同的用户名和密码。





四、安全注意事项

  • 使用强密码:确保所有用户账户都使用强密码。
  • 禁用root登录:在
    1. /etc/ssh/sshd_config
    复制代码
    中设置
    1. PermitRootLogin no
    复制代码

  • 定期更新:保持系统和软件包更新到最新版本。
  • 监控日志:定期检查
    1. /var/log/vsftpd.log
    复制代码
    1. /var/log/auth.log
    复制代码
    (或类似日志文件)以发现异常活动。
  • 使用防火墙:限制对FTP和SSH端口的访问,仅允许必要的IP地址。


通过以上步骤,你可以在服务器上成功安装和配置FTP/SFTP服务,实现安全的文件传输。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五云论坛 ( 黔ICP备2022001370号-1|贵公网安备52032102000798号 )

GMT+8, 2026-9-12 18:10 , Processed in 0.077288 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表