如何通过Debian SFTP进行远程管理
导读:在 Debian 上通过 SFTP 进行远程管理 一 环境准备与安装 更新系统并安装 OpenSSH 服务器(SFTP 基于 SSH 提供): 执行:sudo apt update && sudo apt install...
在 Debian 上通过 SFTP 进行远程管理
一 环境准备与安装
- 更新系统并安装 OpenSSH 服务器(SFTP 基于 SSH 提供):
- 执行:
sudo apt update & & sudo apt install openssh-server -y
- 执行:
- 启动并设为开机自启:
- 执行:
sudo systemctl start ssh & & sudo systemctl enable ssh
- 执行:
- 说明:Debian 默认启用 SSH,安装后即可使用 SFTP 客户端连接;如需自定义端口或禁用 root 登录,可在后续步骤调整 SSH 配置。
二 配置 SFTP 访问与目录权限
- 备份原始配置并编辑 SSH 服务配置:
- 执行:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak - 编辑:
sudo nano /etc/ssh/sshd_config
- 执行:
- 推荐仅对 SFTP 用户做受限访问(示例为组 sftpusers):
- 在文件末尾添加或修改:
Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
- 在文件末尾添加或修改:
- 创建 SFTP 用户组与用户,并设置可写目录:
- 执行:
sudo groupadd sftpusers sudo adduser sftpuser sudo usermod -aG sftpusers sftpuser - 为 Chroot 生效,家目录需由 root 拥有,另建可写子目录:
sudo chown root:root /home/sftpuser sudo chmod 755 /home/sftpuser sudo mkdir -p /home/sftpuser/uploads sudo chown sftpuser:sftpusers /home/sftpuser/uploads sudo chmod 755 /home/sftpuser/uploads
- 执行:
- 使配置生效:
- 执行:
sudo systemctl restart ssh
- 执行:
- 说明:使用 internal-sftp 与 ChrootDirectory %h 可将用户限制在其家目录;Chroot 要求该目录及其上级目录属主为 root,因此需为业务数据单独创建可写子目录。
三 连接与常用操作
- 命令行连接:
- 执行:
sftp sftpuser@your_server_ip - 登录后常用命令:
- 列目录:
ls - 切换目录:
cd - 下载:
get remote_file local_file - 上传:
put local_file remote_file - 新建目录:
mkdir - 删除文件/空目录:
rm/rmdir
- 列目录:
- 执行:
- 图形化客户端:
- 可用 FileZilla、WinSCP 等,协议选择 SFTP,填写主机、端口(默认 22)、用户名与密码/密钥即可。
四 防火墙与端口开放
- 放行 SSH 端口(默认 22):
- UFW:
sudo ufw allow 22 & & sudo ufw reload - firewalld:
sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload
- UFW:
- 如自定义端口(例如 2222),需同步修改
/etc/ssh/sshd_config的 Port 并重启 SSH 服务,然后在防火墙放行对应端口。
五 安全与最佳实践
- 禁用 root 远程登录:在
/etc/ssh/sshd_config设置PermitRootLogin no - 优先使用 SSH 密钥认证,禁用空密码:
- 本地生成密钥:
ssh-keygen -t ed25519(或-t rsa -b 4096) - 上传公钥:
ssh-copy-id sftpuser@your_server_ip - 在
/etc/ssh/sshd_config设置PasswordAuthentication no并重启 SSH
- 本地生成密钥:
- 仅赋予 SFTP 必要权限:通过 Match Group + ChrootDirectory + ForceCommand internal-sftp 限制用户仅能 SFTP 操作
- 保持系统与安全组件更新:
sudo apt update & & sudo apt upgrade -y - 说明:以上措施能显著提升安全性;密钥登录配合禁用密码可有效抵御暴力破解。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何通过Debian SFTP进行远程管理
本文地址: https://pptw.com/jishu/756336.html
