网站搜索

CentOS/RHEL 8 的初始服务器设置


在本文中,我们将引导您完成在安装没有图形环境的最小 CentOS/RHEL 8 服务器后需要应用的第一个基本步骤,以便检索有关已安装系统的信息、服务器运行的硬件并配置其他特定的系统任务,例如系统更新、网络、root 权限、配置 ssh、管理服务等。

要求

  1. CentOS 8 安装指南
  2. RHEL 8 最小安装
  3. 在 RHEL 8 中启用 RHEL 订阅

重要:您必须在 RHEL 8 服务器上启用 Red Hat 订阅服务才能执行系统更新和软件安装。

第1步:更新系统软件

首先,以 root 用户身份登录服务器并运行以下命令,以使用最新的内核、系统安全补丁、软件存储库和软件包来全面更新系统。

dnf check-update
dnf update

软件升级过程完成后,为了释放磁盘空间,您可以通过运行以下命令删除所有下载的软件包以及所有缓存的存储库信息。

dnf clean all

第2步:安装系统实用程序

以下这些系统实用程序对于日常系统管理任务非常有用:nano、vim 编辑器、wget 和curl(主要用于通过网络下载软件包的实用程序)net-tools(用于管理本地网络的实用程序)lsof(对于按进程查找打开文件的列表)和 bash-completion(命令行自动完成)。

dnf install nano vim wget curl net-tools lsof bash-completion

第 3 步:设置主机名和网络

在 CentOS/RHEL 8 中,存储库中包含大量用于配置和管理网络的工具,从手动更改网络配置文件到使用 ifconfig、ip、nmcli 和nmtui。

新手可以用来配置和管理网络配置(例如设置网络主机名和配置静态 IP 地址)的最简单实用程序是使用 nmtui 图形命令行实用程序。

在 CentOS 8 中设置主机名

要设置或更改系统主机名,请运行以下 nmtui-hostname 命令,该命令将提示您输入计算机主机名,然后按“确定”完成,如下面的屏幕截图所示。

nmtui-hostname

在 CentOS 8 中设置静态 IP 地址

要配置网络接口,请运行以下 nmtui-edit 命令,该命令将提示您从菜单中选择要配置的接口,如下面的屏幕截图所示。

nmtui-edit

单击编辑按钮后,它将提示您设置网络接口 IP 设置,如下面的屏幕截图所示。完成后,使用 [tab] 键导航至确定以保存配置并退出。

完成网络配置后,您需要运行以下命令来应用新的网络设置,方法是选择要管理的接口,然后点击停用/激活选项来停用并启动该接口与 IP 设置,如下面的屏幕截图所示。

nmtui-connect

为了验证网络配置设置,您可以检查接口文件的内容,也可以发出以下命令。

ifconfig enp0s3
ip a
ping -c2 google.com

您还可以使用其他有用的网络实用程序,例如ethtoolmii-tool来检查网络接口的速度、网络链接状态并获取有关机器网络接口的信息。

ethtool enp0s3
mii-tool enp0s3

作为机器网络的一个重要方面,列出所有打开的网络套接字非常重要,以便检查哪些服务正在侦听哪些端口以及已建立的网络连接的状态是什么,并列出进程打开的所有文件。

netstat -tulpn
ss -tulpn
lsof -i4 -6

第 4 步:创建新用户帐户

始终建议让具有 root 权限的普通用户在需要时执行管理任务。为了给普通用户分配 root 权限,首先,使用 useradd 命令创建一个用户,设置密码并将用户添加到管理轮组中。

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

要验证新用户是否具有 root 权限,请使用该用户的凭据登录系统,并使用 Sudo 权限运行 dnf 命令,如图所示。

su - ravisaive
sudo dnf update

步骤5:在CentOS 8上设置SSH无密码登录

为了提高服务器安全性,请通过生成一对 SSH 密钥(包含公钥私钥)来为新用户设置 SSH 无密码身份验证,但你需要创建一个。这将需要 SSH 私钥才能连接到系统,从而提高服务器的安全性。

su - ravisaive
ssh-keygen -t RSA

生成密钥后,它会要求您输入密码以保护私钥。如果您想通过 SSH 服务器自动执行管理任务,您可以输入强密码或选择将密码留空。

生成 SSH 密钥后,您需要使用远程服务器的用户名和 IP 地址运行 ssh-copy-id 命令,将生成的公钥对复制到远程服务器,如图所示。

ssh-copy-id [email 

复制 SSH 密钥后,您现在可以尝试使用私钥作为身份验证方法登录远程 Linux 服务器。您应该能够自动登录,无需 SSH 服务器询问密码。

[email 

第 6 步:保护 SSH 远程登录的安全

在这里,我们将通过在 SSH 配置文件中禁用对 root 帐户的远程 SSH 访问来进一步保护我们的服务器。

vi /etc/ssh/sshd_config

找到显示 #PermitRootLogin yes 的行,通过删除该行开头的 # 来取消注释该行,并将该行修改为。

PermitRootLogin no

然后,重新启动 SSH 服务器以应用最近的新更改。

systemctl restart sshd

现在通过尝试以 root 帐户登录来验证配置,您将收到如图所示的访问 SSH 权限被拒绝错误。

ssh [email 

在某些情况下,您可能希望在闲置一段时间后自动断开与服务器的所有远程 SSH 连接。

步骤7:在CentOS 8上配置防火墙

CentOS/RHEL 8中,默认防火墙是Firewalld,它用于管理服务器上的iptables规则。要在服务器上启用并启动 firewalld 服务,请运行以下命令。

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

要打开到特定服务 (SSH) 的传入连接,首先,您需要验证该服务是否存在于 firewalld 规则中,然后添加以下规则:通过将 --permanent 开关添加到命令中来设置服务,如图所示。

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

如果您希望打开到其他网络服务(例如 HTTP 或 SMTP)的传入连接,只需通过指定服务名称添加所示规则即可。

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

要查看服务器上的所有防火墙规则,请运行以下命令。

firewall-cmd --permanent --list-all

步骤 8:删除 CentOS 8 中不需要的服务

强烈建议在安装新的CentOS/RHEL 8服务器后,您需要删除并禁用服务器上默认运行的不需要的服务,以减少对服务器的攻击。

要列出服务器上所有正在运行的网络服务(包括 TCPUDP),请运行 ss 命令或 netstat 命令,如下例所示。

ss -tulpn
OR
netstat -tulpn

上面的命令将列出服务器上默认运行的一些有趣的服务,例如 Postfix 邮件服务器。如果您不打算在服务器上托管邮件系统,则必须停止并将其从系统中删除,如图所示。

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

除了 ss 命令和 netstat 命令之外,您还可以运行 ps、top 或 pstree 命令来发现和识别所有不需要的服务并将其从系统中删除。

dnf install psmisc
pstree -p

步骤 9:管理 CentOS 8 中的服务

CentOS/RHEL 8中,所有服务和守护进程都通过systemctl命令进行管理,您可以使用此命令列出所有活动的、正在运行的、已退出的或失败的服务。

systemctl list-units

要检查系统启动期间是否自动启用守护程序或服务,请发出以下命令。

systemctl list-unit-files -t service

要了解有关 systemctl 命令的更多信息,请阅读我们的文章,该文章解释了如何在 Linux 中使用“Systemctl”管理服务。

就这样!在本文中,我们解释了每个 Linux 系统管理员在新安装的 CentOS/RHEL 8 系统上或在系统上执行日常任务时需要了解和应用的一些基本设置和命令。