如何在 Rocky Linux 8 上设置 SFTP 服务器?

avatar
作者
筋斗云
阅读量:0

Rocky Linux 8 是一个基于 Red Hat Enterprise Linux (RHEL) 源代码构建的企业级 Linux 发行版,提供了稳定和可靠的操作系统环境。在设置 SFTP 服务器之前,首先需要在你的服务器上安装 Rocky Linux 8。

安装 Rocky Linux 8

你可以从 Rocky Linux 官方网站https://rockylinux.org/download下载 Rocky Linux 8 的镜像文件。选择适合你硬件架构的版本,通常有 x86_64 和 ARM 架构可供选择。

一旦下载了镜像文件,你需要将其写入到安装媒体上,以便从中引导计算机并进行安装。你可以使用诸如 Rufus(Windows)、Etcher(Windows、macOS、Linux)或dd命令(Linux)等工具来创建安装媒体。

将安装媒体插入计算机并启动。在启动过程中,你需要进入计算机的启动菜单并选择从安装媒体引导。一旦引导成功,你将看到 Rocky Linux 8 的安装界面。

在安装界面上,按照指示选择适当的语言、时区和键盘布局。然后,点击“安装目标”并选择要安装 Rocky Linux 8 的目标磁盘。你还可以对磁盘进行分区和设置存储选项。

在安装过程中,你将被要求配置网络连接。确保你的网络设置正确,并且你可以访问互联网以便获取更新和安装软件包。此外,你还需要创建至少一个用户账户,并设置其密码。

安装过程完成后,重新启动计算机。在重新启动后,你将看到 Rocky Linux 8 登录界面。使用之前创建的用户账户登录系统。

为了确保系统安全性和稳定性,建议在安装完成后立即更新系统。在终端中运行以下命令:

sudo yum update 

输入密码并确认更新过程。

安装和配置 OpenSSH 服务器

步骤 1:安装 OpenSSH 服务器

  1. 打开终端,并使用 root 或具有 sudo 权限的用户登录。
  2. 运行以下命令安装 OpenSSH 服务器:
sudo yum install openssh-server 
  1. 安装过程中,你可能会被要求确认安装,输入 ‘y’ 并按 Enter 键继续。

步骤 2:启动 OpenSSH 服务器

  1. 安装完成后,运行以下命令启动 OpenSSH 服务器:
sudo systemctl start sshd 
  1. 若要确保 OpenSSH 服务器在系统启动时自动启动,请运行以下命令:
sudo systemctl enable sshd 

步骤 3:验证 OpenSSH 服务器是否运行

  1. 运行以下命令验证 OpenSSH 服务器是否正在运行:
sudo systemctl status sshd 
  1. 如果服务器正在运行,你将会看到类似以下内容的输出:
● sshd.service - OpenSSH server daemon    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)    Active: active (running) since Tue 2024-04-09 15:10:22 UTC; 6 days ago 

如果你看到 Active: active (running),则表示 OpenSSH 服务器已成功启动。

步骤 4:配置防火墙

如果你的 Rocky Linux 8 上启用了防火墙(firewalld),你需要确保允许 SSH(默认端口 22)的流量通过。运行以下命令打开 SSH 端口:

sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload 

至此,你已成功安装并配置了 OpenSSH 服务器。

配置和启用 SFTP 服务

步骤 1:编辑 SSH 配置文件

  1. 打开终端,并使用 root 或具有 sudo 权限的用户登录。
  2. 使用文本编辑器打开 SSH 配置文件 /etc/ssh/sshd_config,例如使用 nano 编辑器:
sudo nano /etc/ssh/sshd_config 

步骤 2:配置 SFTP 子系统

在配置文件中找到或添加以下行,确保 SFTP 子系统被启用:

Subsystem sftp internal-sftp 

步骤 3:配置 SFTP 根目录(可选)

你可以选择性地配置 SFTP 用户的根目录,限制他们的访问范围。在配置文件中添加以下行,并将 /path/to/directory 替换为你想要设置的 SFTP 根目录:

Match Group sftpusers     ChrootDirectory /path/to/directory     ForceCommand internal-sftp     AllowTcpForwarding no 

步骤 4:重启 SSH 服务

保存并关闭编辑器,然后运行以下命令重启 SSH 服务以应用更改:

sudo systemctl restart sshd 

步骤 5:创建 SFTP 用户(可选)

如果你想要允许用户通过 SFTP 访问系统,你需要创建相应的用户账户并将其添加到 SFTP 组中。假设我们要创建一个名为 sftpuser 的用户,执行以下命令:

sudo useradd -m sftpuser -s /sbin/nologin sudo passwd sftpuser sudo usermod -aG sftpusers sftpuser 

步骤 6:测试 SFTP 连接

现在,你可以使用 SFTP 客户端连接到你的 Rocky Linux 8 服务器。使用之前创建的 SFTP 用户账户和密码登录。

加强 SFTP 服务器的安全性

步骤 1:禁用 SSH 登录 Root 用户

编辑 SSH 配置文件 /etc/ssh/sshd_config,并确保以下行未被注释或添加:

PermitRootLogin no 

这将禁止 root 用户直接通过 SSH 登录,从而降低系统受到攻击的风险。

步骤 2:限制登录用户

如果有必要,你可以通过配置 SSH 配置文件限制哪些用户可以登录到系统上。在配置文件中添加以下行来限制登录到指定的用户组:

AllowGroups sftpusers 

步骤 3:启用公钥认证

使用公钥认证可以提高安全性,避免了传统的基于密码的身份验证。确保在配置文件中启用公钥认证:

PubkeyAuthentication yes 

步骤 4:禁用空密码登录

禁用空密码登录可以防止恶意用户通过空密码登录系统。确保以下行未被注释或添加到配置文件中:

PermitEmptyPasswords no 

步骤 5:监控日志文件

定期监视系统的日志文件(如 /var/log/secure)以检测任何异常活动,并及时采取行动。

步骤 6:定期更新系统和软件包

及时更新系统和安装的软件包可以修补潜在的安全漏洞,并提高系统的整体安全性。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!