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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程圈子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值