温馨提示×

centos如何开启sftp功能

小樊
39
2025-12-09 15:22:23
栏目: 智能运维

在CentOS系统中开启SFTP功能,通常需要通过配置SSH服务器来实现。以下是详细步骤:

方法一:使用系统自带的OpenSSH服务器

  1. 安装OpenSSH服务器(如果尚未安装):

    sudo yum install openssh-server
    
  2. 启动并启用SSH服务

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 检查SSH服务状态

    sudo systemctl status sshd
    
  4. 配置SSH以允许SFTP

    • 编辑SSH配置文件 /etc/ssh/sshd_config
      sudo vi /etc/ssh/sshd_config
      
    • 找到并修改以下行(如果它们被注释掉了,去掉前面的#):
      Subsystem sftp /usr/libexec/openssh/sftp-server
      
    • 确保以下行没有被注释掉,并且设置为yes
      PasswordAuthentication yes
      
    • 保存并退出编辑器。
  5. 重启SSH服务

    sudo systemctl restart sshd
    
  6. 测试SFTP连接: 使用SFTP客户端连接到服务器,例如:

    sftp username@hostname
    

方法二:使用Firewalld配置防火墙

如果你的CentOS系统启用了Firewalld,还需要配置防火墙以允许SFTP流量:

  1. 打开SFTP端口(默认是22)
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    

方法三:使用SELinux配置

如果SELinux处于 enforcing 模式,可能需要调整SELinux策略以允许SFTP:

  1. 检查SELinux状态

    sestatus
    
  2. 临时设置SELinux为 permissive 模式(仅用于测试):

    sudo setenforce 0
    
  3. 测试SFTP连接

  4. 永久设置SELinux为 permissive 模式(如果需要): 编辑 /etc/selinux/config 文件:

    sudo vi /etc/selinux/config
    

    SELINUX=enforcing 改为 SELINUX=permissive,然后重启系统。

注意事项

  • 确保你的用户账户有密码,并且密码强度足够。
  • 定期更新系统和软件包以保持安全性。
  • 如果使用的是云服务器,还需要检查云服务提供商的安全组设置,确保允许SSH(端口22)流量。

通过以上步骤,你应该能够在CentOS系统上成功开启SFTP功能。

0