CentOS7 安装SFTP

Posted 编程圈子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 安装SFTP相关的知识,希望对你有一定的参考价值。

一、安装配置 sftp

1. 查看openssh版本

ssh -V

openssh版本必须大于4.8p1

2. 创建sftp组

groupadd sftp

3. 创建sftp用户

useradd -g sftp -s /sbin/nologin -M sftp
passwd sftp
输入密码

4. 建立目录

mkdir -p /data/sftp/mysftp
usermod -d /data/sftp/mysftp sftp

5. 修改sshd_config

vim /etc/ssh/sshd_config

注释掉

# Subsystem      sftp    /usr/libexec/openssh/sftp-server  

添加

Subsystem       sftp    internal-sftp      
Match Group sftp      
ChrootDirectory /data/sftp/mysftp    
ForceCommand    internal-sftp      
AllowTcpForwarding no      
X11Forwarding no    

上面目录里可以使用 %u 表示登陆的用户名。

6. 设置Chroot目录权限

chown root:sftp /data/sftp/mysftp
chmod 755 /data/sftp/mysftp

以上完成后,就可以登陆查看了。

7. 设置可以写入的目录

mkdir /data/sftp/mysftp/upload
chown sftp:sftp /data/sftp/mysftp/upload
chmod 755 /data/sftp/mysftp/upload

关闭selinux:

vim /etc/selinux/config
将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存。

执行:

setenforce 0

service sshd restart
或
systemctl restart sshd.service

测试

sftp sftp@127.0.0.1

二、用户sftp 日志

1. 修改ssh的配置

vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f local5
LogLevel INFO

如果设置 Subsystem sftp internal-sftp则可以这样写:

Subsystem sftp internal-sftp -l INFO -f local5

另一行LogLevel INFO 不限定在哪一行。

2. 修改rsyslog配置

vi /etc/rsyslog.conf

在最后增加如下配置

auth,authpriv.*,local5.* /var/log/sftp.log

3. 重启服务

service rsyslog restart
service sshd restart

4. 查看日志

tail -f /var/log/sftp.log

以上是关于CentOS7 安装SFTP的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7 安装配置SFTP服务器详解

CentOS7.6服务器搭建SFTP服务及JAVA工具类

ubuntu 安装sftp

centos sftp安装

sftp搭建配置

Centos7配置SFTP服务