在现代网络环境中,安全文件传输协议(SFTP)是一种基于SSH协议的文件传输方式,提供了加密的数据传输服务,相比传统的FTP,SFTP具有更高的安全性和更多的功能,下面将详细讲解如何在Linux系统上搭建SFTP服务器。
步骤一:创建用户组和用户
1、创建sftp用户组
groupadd sftpgroup
2、创建sftp用户并指定用户组和禁止用户登录
useradd g sftpgroup s /bin/false sftpadmin passwd sftpadmin
步骤二:创建用户目录并修改权限
1、创建sftp用户目录
mkdir p /data/sftp/sftpadmin usermod d /data/sftp/sftpadmin sftpadmin
2、修改用户目录的所有权和权限
chown root:root /data/sftp/sftpadmin chmod 755 /data/sftp/sftpadmin
3、创建上传文件夹并修改权限
mkdir /data/sftp/sftpadmin/upload chown sftpadmin:sftpgroup /data/sftp/sftpadmin/upload chmod 755 /data/sftp/sftpadmin/upload
步骤三:配置SFTP服务
1、修改sshd_config配置文件
vim /etc/ssh/sshd_config
2、注释掉默认的Subsystem配置,并添加新的配置
# Subsystem sftp /usr/libexec/openssh/sftpserver Subsystem sftp internalsftp Match Group sftpgroup ChrootDirectory /data/sftp/%u ForceCommand internalsftp AllowTcpForwarding no X11Forwarding no
步骤四:关闭Selinux策略
1、修改selinux配置文件
vim /etc/selinux/config
2、设置SElinux为disabled
SELINUX=disabled
步骤五:重启SSH服务
1、重启sshd服务
service sshd restart
步骤 | 命令 | 描述 |
1 | groupadd sftpgroup | 创建sftp用户组 |
2 | useradd g sftpgroup s /bin/false sftpadmin | 创建sftp用户并指定用户组和禁止用户登录 |
3 | passwd sftpadmin | 设置sftp用户密码 |
4 | mkdir p /data/sftp/sftpadmin | 创建sftp用户目录 |
5 | usermod d /data/sftp/sftpadmin sftpadmin | 修改用户的家目录 |
6 | chown root:root /data/sftp/sftpadmin | 修改用户目录的所有权 |
7 | chmod 755 /data/sftp/sftpadmin | 修改用户目录的权限 |
8 | mkdir /data/sftp/sftpadmin/upload | 创建上传文件夹 |
9 | chown sftpadmin:sftpgroup /data/sftp/sftpadmin/upload | 修改上传文件夹的所有权 |
10 | chmod 755 /data/sftp/sftpadmin/upload | 修改上传文件夹的权限 |
11 | vim /etc/ssh/sshd_config | 修改sshd_config配置文件 |
12 | service sshd restart | 重启sshd服务 |
13 | vim /etc/selinux/config | 修改selinux配置文件 |
14 | SELINUX=disabled | 设置SElinux为disabled |
相关问答FAQs
Q1:如何测试SFTP服务器是否搭建成功?
A1:可以使用SFTP客户端工具(如FileZilla或WinSCP)进行连接测试,具体步骤如下:
1、打开FileZilla,点击“文件” > “站点管理器”。
2、新建站点,选择协议为SFTP,主机输入服务器IP地址,端口号为22,用户名和密码分别为之前设置的sftpadmin及其密码。
3、点击连接,如果能够看到服务器端的目录列表,说明连接成功。
Q2:如何更改SFTP服务器的端口号?
A2:要更改SFTP服务器的端口号,需要编辑sshd_config文件并添加以下配置:
1、打开sshd_config文件:
vim /etc/ssh/sshd_config
2、添加或修改Port配置:
Port 2222
3、保存并退出后,重启sshd服务:
service sshd restart
这样,SFTP服务器将在新的端口号(例如2222)上运行。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1249757.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复