欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS 7 配置SFTP

程序员文章站 2022-06-01 10:25:58
...

目前越来越多的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 [email protected]127.0.0.1
[email protected]127.0.0.1's password: