linux上搭建sftp服务器

文章目录

      • 第一步:查看ssh版本
      • 第二步:添加sftp用户组
      • 第三步:创建sftp用户并设置密码
      • 第四步:设置活动目录
      • 第五步:配置chroot目录权限
      • 第六步:指定sftp组用户sftp_upload的home目录
      • 第七步:修改ssh配置文件
      • 第八步:新建上传目录
      • 第九步:重启sshd服务
      • 第十步:测试连接

第一步:查看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 [email protected]

你可能感兴趣的:(linux,服务器,运维)