CentOS 7 配置SFTP

目前越来越多的FTP客户端软件开始支持SSH协议上传和下载文件,这种协议方式就是SFTP。

SFTP的优势主要有两点,一是不需要再配置个FTP服务端;二是SSH协议是安全传输,上传和下载是经过加密的。

下面介绍下在最常用的服务器系统 CentOS Linux 7 上配置 SFTP 的方式!

一、sftp 安装

第一步:创建sftp服务用户组,创建sftp服务根目录:

groupadd sftp
#此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftp
chown -R root /var/sftp
chmod -R 755 /var/sftp

第二步:创建sftp服务用户:

#添加用户 使用参数 -s /sbin/nologin禁止用户通过命令行登录 
useradd -g sftp -d /home/sftp/silent -s /sbin/nologin silent

第三步:为sftp服务用户添加密码

passwd silent

第四步:配置sshd_config:

vim /etc/ssh/sshd_config

注释掉下面这一行:
Subsystem  sftp    /usr/libexec/openssh/sftp-server

在sshd_config最后加入下面这几行:

Subsystem sftp internal-sftp
Match Group sftp
    ChrootDirectory /home/sftp/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

注:这里要注意一下,上面这些代码务必放在最后,因为必须要“UseDNS no”后面

 第五步:重启sshd:

systemctl restart sshd

现在可以正常连接了,但是可能还有个问题,就是无法上传,于是我们需要设置下写入权限:

chown root -R /var/sftp/silent
chmod -R 755 /var/sftp/silent

二、sftp 简单操作

测试

sftp silent@127.0.0.1
silent@127.0.0.1's password: 

 

posted @ 2019-07-04 09:06  吊车尾88  阅读(15495)  评论(0编辑  收藏  举报