【Linux手动搭建Sftp,创建用户、用户组及删除用户】

本文详细介绍了如何使用SFTP进行安全文件传输,包括基于SSH的身份验证,用户管理(如删除和新建SFTP用户),修改SSH配置以启用内建SFTP服务,设置chroot和权限,以便限制用户活动并允许特定目录写入。最后演示了如何通过FileZilla等工具和命令行访问SFTP服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SFTP (Secure File Transfer Protocol)是一种安全的文件传输协议,基于SSH协议进行加密传输。在进行文件传输时,SFTP客户端通过SSH协议与服务器进行连接,并且通过使用公钥和/或密码进行身份验证,从而确保传输的安全性。SFTP客户端可以使用多种工具进行连接,例如OpenSSH、FileZilla和WinSCP等等。

删除用户并重新创建

# 如果已有相同用户,删掉!
userdel sftpuser # 删除sftpuser这个用户
rm -rf /home/sftpuser # 删除sftpuser这个用户的目录
rm -rf /var/spool/main/sftpuser # 删除系统自动生成的邮箱

#新建sftp组、具体用户 sftpuser

# 新建组
groupadd sftp
# 新建用户
adduser sftpuser
# 添加用户且只能通过sftp登录,不能通过ssh连接
useradd -G sftp -s /sbin/nologin sftpuser
# 输入命令 设置密码 连续输入两次相同密码即可
passwd sftpuser 

修改ssh配置文件

# 编辑sshd_config 文件
vi /etc/ssh/sshd_config
# 找到Subsystem sftp /usr/libexec/openssh/sftp-server 
# 用 # 注释掉 并添加 一行
Subsystem sftp internal-sftp

## 在末尾加入一下配置信息
#用chroot将用户的根目录指定到sftpuser用户目录
#这样用户 就只能在用户目录下活动。也可用%u,%u代表用户名
Match User sftpuser
ChrootDirectory /data/sftp/sftpuser
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no

设定chrootDirectory

#设定Chroot目录权限(必须),用户目录以及组目录以及数据根目录都要设置为755 权限
#不要太高,否则可能报Permission denied的异常 

mkdir -p /data/sftp/sftpuser
chown root:root /data/sftp/sftpuser
chmod 755 /data -R

建立SFTP用户登入后可写入的目录

mkdir /data/sftp/sftpuser/workFile
chown bysftp /data/sftp/sftpuser/workFile
#给workFile以及下级文件授权777,否则可能报Permission denied的异常
chmod 777 /data/sftp/sftpuser/workFile -R 

重启ssh

service sshd restart

现在你可以使用工具 FileZilla、Transmit等 使用 sftpuser 和设置的密码进行访问啦;

也可以直接在命令行 使用 sftp 你的ip地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝味的真知棒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值