作者:じ☆ve不哭
发布时间:2025-03-21T14:06:21
在 CentOS 服务器上开启并配置 SFTP Server,可以按照以下步骤进行:
# 更新系统并安装 OpenSSH
sudo yum update -y
sudo yum install -y openssh-server
# 启动 SSH 服务
sudo systemctl start sshd
# 设置开机自启动
sudo systemctl enable sshd
# 创建 SFTP 用户
sudo useradd -m sftpuser
# 设置 SFTP 用户密码
sudo passwd sftpuser
# 创建上传目录
sudo mkdir -p /home/sftpuser/upload
# 设置目录权限
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
# 允许 sftpuser 访问 upload 目录
sudo chown sftpuser:sftpuser /home/sftpuser/upload
编辑 sshd_config
文件:
sudo vim /etc/ssh/sshd_config
# 禁止 SFTP 用户使用 shell
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
⚠️ 注意:
Match User
:指定仅对 sftpuser
生效的规则。ChrootDirectory
:将 SFTP 用户限制在 /home/sftpuser
目录中。sudo systemctl restart sshd
sftp sftpuser@<your-server-ip>
put <localfile>
:上传文件get <remotefile>
:下载文件ls
:列出远程目录exit
:退出# 开启 SSH 端口
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
# 重新加载防火墙
sudo firewall-cmd --reload
现在 sftpuser
可以通过 SFTP 连接到服务器,并且只能访问 /home/sftpuser/upload
目录。