ubuntu

Ubuntu SFTP如何共享文件夹

小樊
46
2025-05-18 14:09:45
栏目: 智能运维

在Ubuntu上设置SFTP共享文件夹,可以通过以下步骤实现:

方法一:使用SSHFS和SFTP服务器

  1. 安装SSHFS

    sudo apt update
    sudo apt install sshfs
    
  2. 创建一个挂载点

    mkdir ~/sftp_share
    
  3. 挂载远程目录到本地: 假设你有一个远程服务器,IP地址为remote_server_ip,用户名为username,远程目录为/path/to/remote/directory

    sshfs username@remote_server_ip:/path/to/remote/directory ~/sftp_share
    
  4. 配置SFTP服务器: 编辑/etc/ssh/sshd_config文件,确保以下配置存在并启用:

    Subsystem sftp internal-sftp
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  5. 创建SFTP用户组

    sudo groupadd sftpusers
    
  6. 添加用户到SFTP用户组

    sudo usermod -aG sftpusers your_username
    
  7. 重启SSH服务

    sudo systemctl restart sshd
    
  8. 设置挂载点的权限: 确保挂载点对SFTP用户组可写:

    sudo chown root:sftpusers ~/sftp_share
    sudo chmod 755 ~/sftp_share
    

方法二:使用vsftpd和SFTP服务器

  1. 安装vsftpd

    sudo apt update
    sudo apt install vsftpd
    
  2. 配置vsftpd: 编辑/etc/vsftpd.conf文件,确保以下配置存在并启用:

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  3. 重启vsftpd服务

    sudo systemctl restart vsftpd
    
  4. 创建SFTP用户

    sudo adduser sftpuser
    sudo passwd sftpuser
    
  5. 设置用户主目录权限

    sudo chown sftpuser:sftpuser /home/sftpuser
    sudo chmod 755 /home/sftpuser
    
  6. 配置SFTP目录权限: 确保SFTP用户只能访问其主目录:

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

方法三:使用Nginx和SFTP服务器

  1. 安装Nginx

    sudo apt update
    sudo apt install nginx
    
  2. 配置Nginx: 编辑/etc/nginx/sites-available/default文件,添加以下配置:

    server {
        listen 80;
        server_name your_domain.com;
    
        location /sftp {
            auth_basic "Restricted Access";
            auth_basic_user_file /etc/nginx/.htpasswd;
    
            sftp_internal_server on;
            sftp_max_list_size 1024;
            sftp_max_file_size 10485760;
    
            root /path/to/your/local/directory;
            autoindex on;
        }
    }
    
  3. 创建用户认证文件

    sudo apt install apache2-utils
    sudo htpasswd -c /etc/nginx/.htpasswd your_username
    
  4. 重启Nginx服务

    sudo systemctl restart nginx
    

通过以上方法,你可以在Ubuntu上设置SFTP共享文件夹,并根据需要进行配置和调整。

0
看了该问题的人还看了