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 服务器
- 打开终端,并使用 root 或具有 sudo 权限的用户登录。
- 运行以下命令安装 OpenSSH 服务器:
sudo yum install openssh-server
- 安装过程中,你可能会被要求确认安装,输入 ‘y’ 并按 Enter 键继续。
步骤 2:启动 OpenSSH 服务器
- 安装完成后,运行以下命令启动 OpenSSH 服务器:
sudo systemctl start sshd
- 若要确保 OpenSSH 服务器在系统启动时自动启动,请运行以下命令:
sudo systemctl enable sshd
步骤 3:验证 OpenSSH 服务器是否运行
- 运行以下命令验证 OpenSSH 服务器是否正在运行:
sudo systemctl status sshd
- 如果服务器正在运行,你将会看到类似以下内容的输出:
● 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=sshsudo firewall-cmd --reload
至此,你已成功安装并配置了 OpenSSH 服务器。
配置和启用 SFTP 服务
步骤 1:编辑 SSH 配置文件
- 打开终端,并使用 root 或具有 sudo 权限的用户登录。
- 使用文本编辑器打开 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/nologinsudo passwd sftpusersudo 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:定期更新系统和软件包
及时更新系统和安装的软件包可以修补潜在的安全漏洞,并提高系统的整体安全性。