阅读量:2
SFTP用户认证主要有密码认证和密钥认证两种方式,以下是具体设置步骤:
密码认证
- 安装OpenSSH服务器
- CentOS:
sudo yum install openssh-server - Debian/Ubuntu:
sudo apt update && sudo apt install openssh-server
- CentOS:
- 创建SFTP用户
sudo groupadd sftpusers # 创建用户组 sudo useradd -g sftpusers -s /sbin/nologin sftpuser # 创建用户并禁止SSH登录 sudo passwd sftpuser # 设置密码 - 配置SSH文件
编辑/etc/ssh/sshd_config,添加以下内容:确保Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory %h # 限制用户只能访问主目录 ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding noPasswordAuthentication yes(默认开启)。 - 设置目录权限
sudo mkdir /home/sftpuser/uploads # 创建可写目录 sudo chown root:root /home/sftpuser # 主目录属主为root sudo chmod 755 /home/sftpuser sudo chown sftpuser:sftpusers /home/sftpuser/uploads # 可写目录属主为用户 - 重启SSH服务
sudo systemctl restart sshd
密钥认证(更安全,推荐)
- 生成密钥对(客户端)
ssh-keygen -t rsa -b 4096(默认保存到~/.ssh/id_rsa和~/.ssh/id_rsa.pub) - 上传公钥到服务器
ssh-copy-id sftpuser@server_ip(或手动复制公钥到服务器~/.ssh/authorized_keys) - 配置SSH服务器
在/etc/ssh/sshd_config中添加:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no # 可选:禁用密码认证 - 重启SSH服务
sudo systemctl restart sshd
验证连接
使用SFTP客户端(如FileZilla或命令行)连接:
ssh sftpuser@server_ip(密码认证需输入密码,密钥认证需指定私钥路径)
安全提示:
- 禁用密码认证可进一步提升安全性(需确保密钥配置正确)。
- 确保
ChrootDirectory的权限为755且属主为root,防止用户越权访问。
以上就是关于“SFTP用户认证如何设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm