娃哈哈好喝-真的!
技术够用就行,吃好喝好睡好!

centos7使用sftp

1、创建目录

以/data/ftp这个目录为例

2、创建用户

先创建一个sftp组

groupadd ftpusers

创建ftpuser用户,要指定用户不能登录系统/sbin/nologin

useradd -g ftpusers -d /data/ftp -s /sbin/nologin ftpuser

给ftpuser设置密码

将第一步创建的目录所有者改成这个root,ssh的chroot要求用户的home目录和上级目录的所有者必须是root,所以这里/data/和/data/ftp的所有者必须都是root,否则会出现类似这样的错误:

sshd[5515]: fatal: bad ownership or modes for chroot directory “/data/ftp” [postauth]

chown root:root /data
chown root:root /data/ftp
chmod 775 /data/ftp
3、配置ssh
# 修改/etc/ssh/sshd_config
# 添加下面的内容到文件的最后,一定要放在最后面
# 下面的配置是针对ftpusers组中的用户有效
Subsystem sftp internal-sftp
Match Group ftpusers
    ChrootDirectory /data/ftp
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

如果配置文件中有这样的行“Subsystem sftp /usr/libexec/openssh/sftp-server”就注释掉,

最后重启sshd服务

4、上传

如果按照上面的配置是用户是不能上传的,因为ftpuser没有对/data/ftp目录的写权限,所以这里可以在/data/ftp目录下创建一个upload目录来解决这个问题,upload目录的所有者可以设置为ftpuser

赞(0)
未经允许不得转载:娃哈哈好喝 » centos7使用sftp
分享到: 更多 (0)