debian

如何使用Debian SFTP进行文件传输

小樊
36
2025-08-19 02:55:03
栏目: 智能运维

一、配置Debian SFTP服务器

  1. 安装OpenSSH服务器

    sudo apt update && sudo apt install openssh-server
    
  2. 配置SSH以启用SFTP
    编辑配置文件 /etc/ssh/sshd_config,添加或修改以下内容:

    Subsystem sftp internal-sftp  # 启用SFTP子系统
    Match Group sftpusers        # 限制特定用户组(可选)
        ChrootDirectory %h       # 限制用户只能访问其主目录
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    说明sftpusers 是建议创建的专用用户组,用于管理SFTP权限。

  3. 创建SFTP用户及目录

    • 创建用户组(可选):
      sudo groupadd sftpusers
      
    • 添加用户并加入组:
      sudo adduser username
      sudo usermod -aG sftpusers username
      
    • 设置用户主目录权限:
      sudo mkdir /home/username/uploads  # 可选:创建专用上传目录
      sudo chown username:sftpusers /home/username/uploads
      sudo chmod 755 /home/username/uploads
      
  4. 重启SSH服务

    sudo systemctl restart ssh
    

二、使用SFTP客户端传输文件

  1. 连接服务器

    sftp username@server_ip
    

    示例sftp user@192.168.1.100

  2. 常用文件操作命令

    命令 功能
    ls 列出远程目录文件
    cd /remote/path 切换远程目录
    get remote_file 下载文件到本地(默认当前目录)
    put local_file 上传文件到远程
    mget file1 file2 批量下载文件
    mput file1 file2 批量上传文件
    rm remote_file 删除远程文件
    exit 退出SFTP会话
  3. 使用SSH密钥认证(可选,更安全)

    • 生成密钥对(若尚未生成):
      ssh-keygen -t rsa -b 4096
      
    • 将公钥复制到服务器:
      ssh-copy-id username@server_ip
      
    • 修改SFTP配置,禁用密码认证(在/etc/ssh/sshd_config中添加):
      PasswordAuthentication no
      
    • 重启SSH服务:
      sudo systemctl restart ssh
      

三、安全注意事项

完成以上步骤后,即可通过SFTP在Debian服务器与本地设备间安全传输文件。

0
看了该问题的人还看了