如何在CentOS 7上搭建SFTP服务器?

CentOS 7上搭建SFTP服务器的步骤包括:安装OpenSSH服务、创建用户和目录、配置sshd_config文件、关闭SELinux策略、重启sshd服务,并验证登录。

CentOS 7上搭建SFTP服务器是一项常见的任务,特别是在需要安全传输文件的场景中,以下是详细的步骤和相关配置:

一、

centos 7 sftp服务器搭建

SFTP(Secure File Transfer Protocol)是一种基于SSH协议的安全文件传输协议,它通过加密的方式在两台计算机之间传输文件,与FTP相比,SFTP提供了更高的安全性,因为它使用SSH进行数据传输的加密和认证,本文将详细介绍如何在CentOS 7上搭建SFTP服务器。

二、机器准备

| 服务器IP | 主机名 | 系统版本 |

| 192.168.2.55 | myhost | Centos7.2 |

三、查看OpenSSH的版本

我们需要确保系统中已经安装了OpenSSH,并且版本不低于4.8p1,可以使用以下命令查看OpenSSH的版本:

ssh -V

如果输出类似以下内容,则表示OpenSSH已安装且版本合适:

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

如果未安装或版本过低,请先升级或安装OpenSSH。

四、创建SFTP管理账户

1、创建账户并限制用户登录

    mkdir -p /data/sftpuser
    useradd -d /data/sftpuser -M -s /sbin/nologin sftpuser

这里我们创建了一个名为sftpuser的用户,并将其家目录设置为/data/sftpuser,同时禁止该用户通过SSH登录系统。

2、设置密码

centos 7 sftp服务器搭建
    passwd sftpuser

根据提示输入并确认密码。

3、修改家目录权限

    chmod 755 /data/sftpuser
    chown root:sftpuser /data/sftpuser

4、创建上传文件夹并授权

    mkdir /data/sftpuser/upload
    chmod 755 /data/sftpuser/upload/
    chown -R sftpuser:sftpuser /data/sftpuser/upload/

五、修改sshd_config配置文件

编辑/etc/ssh/sshd_config文件,添加或修改以下配置:

Subsystem sftp internal-sftp
Match Group sftpuser
    ChrootDirectory /data/sftpuser/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

这些配置的作用是:

Subsystem sftp internal-sftp:指定SFTP子系统为internal-sftp。

Match Group sftpuser:匹配用户组sftpuser。

ChrootDirectory /data/sftpuser/%u:将用户锁定在其主目录下。

ForceCommand internal-sftp:强制用户使用internal-sftp命令。

centos 7 sftp服务器搭建

AllowTcpForwarding no:禁用TCP转发。

X11Forwarding no:禁用X11转发。

六、关闭Selinux策略

为了避免Selinux策略影响SFTP的使用,我们需要将其设置为宽松模式:

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0
getenforce

七、重启sshd服务

完成上述配置后,重启sshd服务以使更改生效:

systemctl restart sshd

八、验证SFTP登录

使用以下命令测试SFTP登录:

sftp -P 22 sftpuser@127.0.0.1

输入密码后,如果能够成功登录并看到类似以下的信息,则表示SFTP服务器搭建成功:

Connected to 127.0.0.1.
Changing to: /data/sftpuser/upload
sftp>/home/myuser>$ ls

九、使用FileZilla连接SFTP服务器

除了命令行工具外,我们还可以使用图形化工具如FileZilla来连接SFTP服务器,在FileZilla中,输入主机IP地址、sftpuser用户名、密码以及端口(默认为22),然后点击“快速连接”即可。

十、常见问题及解答

Q1: SFTP用户无法登录怎么办?

A1: 如果SFTP用户无法登录,请检查以下几点:

确保sshd服务正在运行。

确保防火墙允许22端口的流量。

检查/etc/ssh/sshd_config文件中的配置是否正确。

确保用户的家目录和权限设置正确。

检查Selinux状态是否为宽松模式。

Q2: 如何更改SFTP用户的根目录?

A2: 要更改SFTP用户的根目录,可以编辑/etc/ssh/sshd_config文件,找到ChrootDirectory配置项,并将其值更改为新的根目录路径,要将用户的根目录更改为/new/root/directory,请将ChrootDirectory配置项的值更改为ChrootDirectory /new/root/directory,然后重启sshd服务以使更改生效。

十一、小编有话说

搭建SFTP服务器是提高文件传输安全性的有效手段之一,在CentOS 7上搭建SFTP服务器相对简单,只需按照上述步骤进行操作即可,在实际应用中,我们还需要考虑安全性、性能优化以及与其他服务的集成等问题,希望本文能够帮助大家顺利搭建SFTP服务器,并在实际应用中发挥其价值。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1379615.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-12-05 06:27
下一篇 2024-12-05 06:31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入