文章目录
第一步:查看ssh版本
[root@localhost /]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
第二步:添加sftp用户组
创建一个用户组,组名是sftp
[root@localhost /]# groupadd sftp
第三步:创建sftp用户并设置密码
创建一个用户,用户名sftp_upload
归属于sftp
用户组
[root@localhost /]# useradd -g sftp -s /bin/false sftp_upload
-s /bin/false:不允许shell登录。 -g sftp:加入sftp组
[root@localhost /]# passwd sftp_upload
第四步:设置活动目录
[root@localhost /]# mkdir /upload/sftp_upload
第五步:配置chroot目录权限
[root@localhost /]# chown root:sftp /upload/sftp_upload
[root@localhost /]# chmod 755 /upload/sftp_upload
**注意:**此目录如果用于后续的 chroot
的活动目录,目录所有者必须是 root
第六步:指定sftp组用户sftp_upload的home目录
[root@localhost /]# usermod -d /upload/sftp_upload sftp_upload
第七步:修改ssh配置文件
[root@localhost /]# vi /etc/ssh/sshd_config
# 开启验证
PasswordAuthentication yes
# 禁止空密码登录
PermitEmptyPasswords no
# 开启远程登录
PermitRootLogin yes
#在文件末尾增加下面内容
Subsystem sftp internal-sftp
Match Group sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
第八步:新建上传目录
新建一个目录供sftp
用户sftp_upload
上传文件。 这个目录所有者为sftp_upload
,所有组为sftp
,所有者有写入权限,所有组无写入权限。
[root@localhost /]# mkdir /upload/sftp_upload/up
[root@localhost /]# chown sftp_upload:sftp /upload/sftp_upload/up
[root@localhost /]# chmod 755 /upload/sftp_upload/up
第九步:重启sshd服务
[root@localhost /]# setenforce 0
[root@localhost /]# systemctl restart sshd.service
第十步:测试连接
[root@localhost /]# sftp -oPort=22 sftp_upload@192.168.43.110