使用CentOS / RHEL 8进行初始服务器设置

本文介绍了一些基本设置,您需要将这些基本设置应用到新安装的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
更新CentOS 8

更新CentOS 8

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

# dnf clean all
Dnf清理缓存

Dnf清理缓存

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

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

# dnf install nano vim wget curl net-tools lsof bash-completion
在CentOS 8中安装系统实用程序

在CentOS 8中安装系统实用程序

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

CentOS / RHEL 8中 ,存储库中包含用于配置和管理网络的大量工具,从手动更改网络配置文件到使用命令(例如ifconfigipnmclinmtui)

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

在CentOS 8中设置主机名

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

# nmtui-hostname
在CentOS 8中设置主机名

在CentOS 8中设置主机名

在CentOS 8中设置静态IP地址

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

# nmtui-edit
在CentOS 8中配置网络

在CentOS 8中配置网络

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

在CentOS 8上设置静态IP

在CentOS 8上设置静态IP

完成网络配置后,您需要运行以下命令来应用新的网络设置,方法是选择要管理的接口,然后单击“ 停用/激活”选项以停用并调出具有IP设置的接口,如下所示在下面的屏幕截图中。

# nmtui-connect
活动网络接口

活动网络接口

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

# ifconfig enp0s3
# ip a
# ping -c2 google.com
验证CentOS 8中的网络设置

验证CentOS 8中的网络设置

您还可以使用其他有用的网络实用程序,例如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
在CentOS 8上创建新的Sudo用户

在CentOS 8上创建新的Sudo用户

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

# su - ravisaive
# sudo dnf update
验证Sudo用户权限

验证Sudo用户权限

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

为了提高服务器的安全性,请通过生成一对SSH密钥(包含公钥私钥)为新用户设置SSH无密码身份验证,但是您需要创建一个。 通过要求使用专用SSH密钥连接到系统,可以提高服务器的安全性。

# su - ravisaive
$ ssh-keygen -t RSA
创建SSH私钥

创建SSH私钥

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

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

$ ssh-copy-id [email protected]
在远程Linux服务器上安装SSH密钥

在远程Linux服务器上安装SSH密钥

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

$ [email protected]
SSH无密码登录

SSH无密码登录

第6步:保护SSH远程登录

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

# vi /etc/ssh/sshd_config

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

PermitRootLogin no

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

# systemctl restart sshd

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

# ssh [email protected]
SSH权限被拒绝错误

SSH权限被拒绝错误

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

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

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

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld
在CentOS 8中启用Firewalld

在CentOS 8中启用Firewalld

要打开到特定服务( SSH )的传入连接,首先,您需要验证防火墙规则中是否存在该服务,然后,通过向命令添加--permanent开关,为该服务添加规则。

# firewall-cmd --add-service=[tab]  #List services
# firewall-cmd --add-service=ssh
# firewall-cmd --add-service=ssh --permanent
在Firewalld中启用SSH服务

在Firewalld中启用SSH服务

如果希望打开与其他网络服务(例如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命令之外 ,您还可以运行pstoppstree命令来发现和识别所有不需要的服务,并将其从系统中删除。

# dnf install psmisc
# pstree -p
查找Linux运行进程

查找Linux运行进程

第9步:在CentOS 8中管理服务

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

# systemctl list-units

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

# systemctl list-unit-files -t service
列出启用的服务

列出启用的服务

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

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