首页主机资讯SFTP服务器配置步骤

SFTP服务器配置步骤

时间2025-11-07 10:44:04发布访客分类主机资讯浏览1185
导读:一、安装OpenSSH服务器 SFTP是SSH的扩展协议,依赖OpenSSH软件包。大多数Linux发行版默认安装OpenSSH,若未安装,可通过以下命令安装: Debian/Ubuntu:sudo apt update &&am...

一、安装OpenSSH服务器
SFTP是SSH的扩展协议,依赖OpenSSH软件包。大多数Linux发行版默认安装OpenSSH,若未安装,可通过以下命令安装:

  • Debian/Ubuntusudo apt update & & sudo apt install openssh-server
  • CentOS/RHELsudo yum install openssh-server
    安装完成后,启动SSH服务并设置开机自启:sudo systemctl start sshd & & sudo systemctl enable sshd

二、配置SSH服务以启用SFTP
编辑SSH主配置文件/etc/ssh/sshd_config,修改以下关键参数:

  1. 启用内置SFTP子系统:找到Subsystem sftp行,取消注释或修改为Subsystem sftp internal-sftp(推荐使用内置子系统,无需额外安装sftp-server)。
  2. 限制用户组及权限:在文件末尾添加以下内容,将< 用户组名> 替换为自定义组(如sftpusers):
    Match Group <
        用户组名>
        
        ChrootDirectory %h      # 将用户限制在其家目录(%h为用户主目录占位符)
        ForceCommand internal-sftp  # 强制使用SFTP,禁用SSH shell访问
        AllowTcpForwarding no   # 禁止TCP转发
        X11Forwarding no        # 禁止X11转发
    
    保存并退出编辑器(Ctrl+XYEnter)。

三、创建专用SFTP用户组及用户

  1. 创建用户组sudo groupadd < 用户组名> (如sftpusers)。
  2. 创建用户并加入组
    • 创建用户(设置家目录,避免使用/home外的路径):sudo useradd -m -G < 用户组名> -s /sbin/nologin < 用户名> -s /sbin/nologin禁止用户通过SSH登录shell)。
    • 设置用户密码:sudo passwd < 用户名> (输入两次密码)。
      示例(创建sftpuser用户):sudo useradd -m -G sftpusers -s /sbin/nologin sftpuser & & sudo passwd sftpuser

四、设置Chroot目录权限
Chroot目录(用户家目录)必须归root所有,且权限为755,防止用户越权修改目录结构:

  1. 创建家目录(若未自动创建):sudo mkdir -p /home/< 用户名> (如/home/sftpuser)。
  2. 设置所有权与权限
    • root所有:sudo chown root:root /home/< 用户名>
    • 设置权限:sudo chmod 755 /home/< 用户名>
  3. 创建上传子目录(可选,用于用户上传文件):
    • sudo mkdir /home/< 用户名> /upload
    • 归用户所有:sudo chown < 用户名> :< 用户组名> /home/< 用户名> /upload
    • 设置权限:sudo chmod 755 /home/< 用户名> /upload(或775,允许用户写入)。

五、重启SSH服务应用配置
修改配置后,重启SSH服务使更改生效:

  • Systemd系统(主流发行版):sudo systemctl restart sshd
  • 旧版SysVinit系统(如CentOS 6):sudo service sshd restart

六、测试SFTP连接
使用SFTP客户端(如命令行、FileZilla或WinSCP)连接服务器:

  1. 命令行测试:在终端输入sftp < 用户名> @< 服务器IP> ,输入密码后若进入SFTP交互模式(显示sftp> ),则配置成功。
  2. 常用命令验证
    • 上传文件:put 本地文件路径 远程文件路径(如put ~/test.txt /upload/test.txt)。
    • 下载文件:get 远程文件路径 本地文件路径(如get /upload/test.txt ~/download/test.txt)。
    • 列出目录:ls(远程)或lls(本地)。
    • 退出:exitbye

七、安全增强建议

  1. 防火墙配置:允许SSH端口(默认22)通过防火墙:
    • CentOS(firewalld)sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload
    • Ubuntu(ufw)sudo ufw allow ssh
  2. SELinux配置(若启用):若系统启用SELinux,需调整策略允许SFTP访问用户目录:
    • sudo setsebool -P ssh_chroot_rw_homedirs on(允许chroot目录读写)。
  3. 强密码策略:要求用户设置复杂密码(包含大小写字母、数字、特殊字符),定期更换密码。
  4. 定期更新:保持系统和OpenSSH软件包为最新版本,修复安全漏洞。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SFTP服务器配置步骤
本文地址: https://pptw.com/jishu/744884.html
Debian中如何查看swap信息 Debian如何删除不再使用的swap

游客 回复需填写必要信息