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

简介: 【4月更文挑战第19天】

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:定期更新系统和软件包

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

目录
相关文章
|
2月前
|
Linux 虚拟化 iOS开发
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
166 35
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
|
2月前
|
Linux 虚拟化 iOS开发
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
108 34
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
|
2月前
|
安全 Linux 虚拟化
Rocky Linux 10 - RHEL 100% 1:1 兼容免费发行版
Rocky Linux 10 - RHEL 100% 1:1 兼容免费发行版
347 34
Rocky Linux 10 - RHEL 100% 1:1 兼容免费发行版
|
1月前
|
Oracle 关系型数据库 Linux
Rocky Linux 9.6 正式版发布 - RHEL 100% 1:1 兼容免费发行版
Rocky Linux 9.6 正式版发布 - RHEL 100% 1:1 兼容免费发行版
259 0
Rocky Linux 9.6 正式版发布 - RHEL 100% 1:1 兼容免费发行版
|
2月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
122 24
|
2月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
84 18
|
2月前
|
安全 Linux iOS开发
Nessus Professional 10.8 | 10.6 Auto Installer for RHEL 9, AlmaLinux 9, Rocky Linux 9 (updated May 2025)
Nessus Professional 10.8 | 10.6 Auto Installer for RHEL 9, AlmaLinux 9, Rocky Linux 9 (updated May 2025)
44 6
|
2月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
3月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
176 25
|
1月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
61 0