温馨提示×

SFTP在Linux服务器上如何配置

小樊
70
2025-08-09 22:05:52
栏目: 云计算

在Linux服务器上配置SFTP(SSH File Transfer Protocol)通常涉及以下几个步骤。以下是一个基本的指南:

1. 安装OpenSSH服务器

首先,确保你的Linux服务器上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install openssh-server

2. 配置SSH服务器

编辑SSH服务器的配置文件 /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

找到并修改以下配置项:

  • 允许SFTP用户:确保以下行没有被注释掉,并且设置为 yes

    Subsystem sftp /usr/lib/openssh/sftp-server
    
  • 限制用户访问:如果你只想允许特定用户使用SFTP,可以添加或修改以下配置:

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

    your_username 替换为你想要限制的用户名。

3. 创建用户和设置密码

如果你还没有创建用户,可以使用以下命令创建一个新用户并设置密码:

sudo adduser your_username
sudo passwd your_username

4. 设置Chroot目录

为了安全起见,你可以将用户的根目录限制在一个特定的目录中。编辑 /etc/ssh/sshd_config 文件,确保 ChrootDirectory 指向用户的家目录:

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

然后,确保用户的家目录权限正确:

sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username

创建一个子目录供用户使用:

sudo mkdir /home/your_username/uploads
sudo chown your_username:your_username /home/your_username/uploads

5. 重启SSH服务

保存并关闭配置文件后,重启SSH服务以应用更改:

sudo systemctl restart sshd

6. 测试SFTP连接

现在,你应该能够通过SFTP连接到你的服务器。使用以下命令测试连接:

sftp your_username@your_server_ip

如果一切配置正确,你应该能够成功登录并进行文件传输。

注意事项

  • 确保防火墙允许SSH(默认端口22)和SFTP(也是端口22)流量。
  • 定期更新系统和软件包以保持安全。
  • 考虑使用更强的认证方法,如公钥认证,而不是密码认证。

通过以上步骤,你应该能够在Linux服务器上成功配置SFTP。

0