【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的介绍和配置方法,按照步骤操作就能配置成功,欢迎学习交流,如有问题请留言。



524

被折叠的 条评论
为什么被折叠?



