【Linux篇】rocky linux 9 安装搭建sftp

【Linux篇】rocky linux 9 安装搭建sftp



前言

此篇文章将详细介绍什么是SFTP以及如何搭建SFTP。


提示:以下是本篇文章正文内容,下面案例可供参考

一、sftp是什么?

SFTP(SSH File Transfer Protocol,也称为 Secret File Transfer Protocol)是一种安全的文件传输协议,它通过网络传输文件,并确保使用私有和安全的数据流来安全地传输数据。SFTP要求客户端用户必须通过服务器进行身份验证,并且数据传输必须通过安全通道(SSH)进行,这意味着不会传输明文密码或文件数据,使得数据传输更加安全。

二、sftp搭建步骤

在搭建sftp前,可以先参考: 【Linux篇】Rocky Linux9系列安装后基础设置,可以解决一些可能遇到的小麻烦

1.创建用户组sftpuser,sftp,sftpadmin,添加用户sftpuser,sftp,sftpadmin

(密码为123456,设置不可登录)

命令如下(示例):

#创建用户组sftpuser,sftp,sftpadmin
groupadd sftpuser
groupadd sftp
groupadd sftpadmin

#添加用户sftpuser,sftp,sftpadmin,设置不可登录
useradd  -g sftpuser -s /bin/false sftpuser
useradd  -g sftp -s /bin/false sftp
useradd  -g sftpadmin -s /bin/false sftpadmin

#设置密码为123456
echo '123456' | passwd --stdin sftpuser
echo '123456' | passwd --stdin sftp
echo '123456' | passwd --stdin sftpadmin

2.创建访问文件夹,配置文件夹访问权限

#创建访问文件夹
mkdir -pv /data/sftp
mkdir -pv /data/sftp/sftpuser/{upload,download}
mkdir -pv /data/sftp/sftpadmin/{upload,download}
#
#配置文件夹访问权限
chown root:root  /data/sftp/*
chmod 755 -R  /data/sftp/
chown -R sftpuser:sftpuser  /data/sftp/sftpuser/
chown -R sftpadmin:sftpadmin /data/sftp/sftpadmin/

3.编辑/etc/ssh/sshd_config 文件,配置sftp连接访问用户以及文件夹权限

3.1.修改前先备份原有sshd_config 文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

3.2.禁用默认的 SFTP 服务器 ,注释原有 Subsystem sftp 这一行

方法一:使用 sed 命令

sudo sed -i '/^Subsystem[[:space:]]\+sftp[[:space:]]\+\/usr\/libexec\/openssh\/sftp-server/s/^/#/' /etc/ssh/sshd_config

方法二:手动编辑文件

使用vi编辑器打开文件

sudo vi /etc/ssh/sshd_config

找到目标行:

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

在行首添加 #:

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

配置sftp连接访问用户以及文件夹权限

cat >> /etc/ssh/sshd_config <<EOF
Subsystem sftp internal-sftp -l INFO -f local5

Match user sftpuser
ChrootDirectory /data/sftp/sftpuser
ForceCommand internal-sftp -l INFO -f local5

Match user sftpadmin 
ChrootDirectory /data/sftp/sftpadmin
ForceCommand internal-sftp -l INFO -f local5

Match user sftp  
ChrootDirectory /data/sftp
ForceCommand internal-sftp -l INFO -f local5

X11Forwarding no
AllowTcpForwarding no
EOF

4.如需开启sftp访问日志,请在/etc/rsyslog.conf添加如下配置(建议开启)

开启sftp日志

echo "auth,authpriv.*,local5.*  /var/log/sftp.log" >> /etc/rsyslog.conf

5.重新启动sshd ,rsyslog

systemctl restart sshd
systemctl restart rsyslog

总结

以上就是sftp的介绍和配置方法,按照步骤操作就能配置成功,欢迎学习交流,如有问题请留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值