跳到主要内容

sftp

  1. 创建用户,并禁止 ssh 登录,不创建家目录
useradd -s /sbin/nologin -M sftpuser
  1. 设置用户密码
passwd sftpuser
  1. 创建 sftp 根目录
mkdir /sftp
  1. 设置目录的权限
# 目录开始一直往上到系统根目录为止的目录拥有者都只能是root
chown root:root /sftp
# 目录开始一直往上到系统根目录为止都不可以具有群组写入权限
chmod 755 /sftp
  1. 创建用户sftpuser根目录,目录名为用户名
cd /sftp
mkdir sftpuser
  1. 设置sftpuser目录权限
chown root:sftpuser /sftp/sftpuser
chmod 777 /sftp/sftpuser
  1. 配置 sshd_config
vim /etc/ssh/sshd_config
# 注释下面的配置 
# Subsystem sftp /usr/libexec/openssh/sftp-server

# 在 /etc/ssh/sshd_config 文件的末尾添加下面
Subsystem sftp internal-sftp
# 匹配用户,如果要匹配多个组,多个组之间用逗号分割
Match User sftpuser
# 用chroot将指定用户的根目录
# 这里的%u指的是账号名 /sftp/%u ==> /sftp/sftpuser
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

# 开启密码登录(如果禁用密码登录,需要把 PasswordAuthentication 改成 yes)
PasswordAuthentication yes
  1. 重启 sshd 服务
# 重启
systemctl restart sshd.service
# 查询状态
systemctl status sshd.service
  1. 通过命令行连接到sftp 服务器
sftp www.wangzhy.com

sftp 配置:https://www.transip.eu/knowledgebase/entry/2079-sftp-tutorial-centos-7/