centos

sftp在centos上怎么设置

小樊
39
2025-03-09 14:11:40
栏目: 智能运维
Centos服务器限时活动,0元免费领! 查看>>

在CentOS上设置SFTP(SSH File Transfer Protocol)通常涉及以下几个步骤:

  1. 安装OpenSSH服务器: 如果你还没有安装OpenSSH服务器,可以使用以下命令来安装它:

    sudo yum install openssh-server
    
  2. 启动并启用SSH服务: 安装完成后,启动SSH服务并设置为开机自启:

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 配置SSH以允许SFTP: 默认情况下,SSH配置文件/etc/ssh/sshd_config已经允许SFTP连接。但是,你可以检查并确保以下配置项存在并且没有被注释掉:

    Subsystem sftp /usr/libexec/openssh/sftp-server
    

    如果你发现这一行被注释掉了(前面有#),请去掉注释。

  4. 重启SSH服务: 为了使更改生效,你需要重启SSH服务:

    sudo systemctl restart sshd
    
  5. 配置防火墙: 如果你的CentOS系统启用了防火墙,你需要确保SFTP端口(默认是22)是开放的。你可以使用以下命令来开放端口:

    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    sudo firewall-cmd --reload
    
  6. 创建SFTP用户: 你可以为用户创建一个专门用于SFTP的账户,并限制其只能通过SFTP访问。首先,创建一个新用户(如果还没有):

    sudo adduser sftpuser
    

    然后,设置该用户的密码:

    sudo passwd sftpuser
    
  7. 限制SFTP用户的访问: 你可以编辑/etc/ssh/sshd_config文件来进一步限制SFTP用户的访问。例如,你可以将SFTP用户限制在其主目录中:

    Match User sftpuser
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    这里,ChrootDirectory %h将用户的根目录限制在其主目录中,ForceCommand internal-sftp强制使用SFTP,而AllowTcpForwarding noX11Forwarding no禁用了TCP和X11转发。

  8. 重启SSH服务: 再次重启SSH服务以应用更改:

    sudo systemctl restart sshd
    

完成以上步骤后,你应该能够使用SFTP客户端连接到你的CentOS服务器,并且只能进行文件传输操作。记得使用你在步骤6中设置的用户名和密码进行连接。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:SFTP在CentOS上如何设置权限

0
看了该问题的人还看了