使用 CentOS 7 的初始服务器设置使用 CentOS 7 的初始服务器设置使用 CentOS 7 的初始服务器设置使用 CentOS 7 的初始服务器设置
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

使用 CentOS 7 的初始服务器设置

介绍

首次创建新服务器时,作为基本设置的一部分,您应该尽早执行一些配置步骤。这将提高服务器的安全性和可用性,并为您的后续操作打下坚实的基础。

第一步——根登录

要登录到您的服务器,您需要知道服务器的公共 IP 地址和“root”用户帐户的密码。如果您还没有登录到您的服务器,您可能需要按照本系列的第一个教程进行操作,如何使用 SSH 连接到您的 Droplet,其中详细介绍了此过程。

如果您尚未连接到您的服务器,请继续使用以下命令以 root 用户身份登录(用您服务器的公共 IP 地址替换突出显示的词):

  1. ssh root@SERVER_IP_ADDRESS

通过接受有关主机真实性的警告(如果出现)来完成登录过程,然后提供您的根身份验证(密码或私钥)。如果这是您第一次使用密码登录服务器,系统还会提示您更改 root 密码。

关于根

root 用户是 Linux 环境中的管理用户,具有非常广泛的权限。由于 root 帐户的更高权限,您实际上不鼓励经常使用它。这是因为 root 帐户固有的部分权力是能够进行非常具有破坏性的更改,即使是偶然的。

下一步是设置一个替代用户帐户,以减少对日常工作的影响范围。我们将教您如何在需要时获得更多特权。

第二步——创建新用户

一旦您以 root 身份登录,我们就准备添加我们将用于从现在开始登录的新用户帐户。

此示例创建一个名为 \demo 的新用户,但您应该将其替换为您喜欢的用户名:

  1. adduser demo

接下来,为新用户分配一个密码(再次将 \demo 替换为您刚刚创建的用户):

  1. passwd demo

输入一个强密码,然后再次重复以验证它。

第三步——root权限

现在,我们有了一个具有常规帐户权限的新用户帐户。但是,我们有时可能需要执行管理任务。

为了避免必须注销我们的普通用户并以 root 帐户重新登录,我们可以为我们的普通帐户设置所谓的“超级用户”或 root 权限。这将允许我们的普通用户运行命令通过在每个命令前加上单词 sudo 来授予管理权限。

要为我们的新用户添加这些权限,我们需要将新用户添加到 \wheel 组。默认情况下,在 CentOS 7 上,属于 \wheel 组的用户被允许使用 sudo 命令。

作为 root,运行此命令将您的新用户添加到 wheel 组(用您的新用户替换突出显示的词):

  1. gpasswd -a demo wheel

现在您的用户可以使用超级用户权限运行命令!有关其工作原理的更多信息,请查看我们的 sudoers 教程。

第四步——添加公钥认证(推荐)

确保服务器安全的下一步是为新用户设置公钥身份验证。设置此设置将通过要求使用 SSH 私钥登录来提高服务器的安全性。

生成密钥对

如果您还没有由公钥和私钥组成的 SSH 密钥对,则需要生成一个。如果您已有要使用的密钥,请跳至复制公钥步骤。

要生成新的密钥对,请在本地计算机的终端输入以下命令:

  1. ssh-keygen

假设您的本地用户名为 \localuser,您将看到如下所示的输出:

ssh-keygen output
Generating public/private rsa key pair. Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

点击返回以接受此文件名和路径(或输入新名称)。

接下来,系统将提示您输入密码以保护密钥。您可以输入密码或将密码留空。

注意:如果将密码留空,则无需输入密码即可使用私钥进行身份验证。如果您输入密码,您将需要私钥和密码才能登录。使用密码保护您的密钥更安全,但这两种方法都有其用途,并且比基本密码身份验证更安全.

这会在 localuser< 的 .ssh 目录中生成私钥 id_rsa 和公钥 id_rsa.pub 的主目录。请记住,私钥不应与任何无权访问您的服务器的人共享!

复制公钥

生成 SSH 密钥对后,您需要将公钥复制到新服务器。我们将介绍两种简单的方法来做到这一点。

注意:如果在 Droplet 创建期间选择了 SSH 密钥,则 ssh-copy-id 方法将不适用于 DigitalOcean。这是因为如果存在 SSH 密钥,DigitalOcean 会禁用密码身份验证,而 ssh-copy-id 依赖密码身份验证来复制密钥。

如果您正在使用 DigitalOcean 并在创建 Droplet 期间选择了 SSH 密钥,请改用选项 2。

选项 1:使用 ssh-copy-id

如果您的本地计算机安装了 ssh-copy-id 脚本,您可以使用它来将您的公钥安装到您拥有登录凭据的任何用户。

通过指定要安装密钥的服务器的用户和 IP 地址来运行 ssh-copy-id 脚本,如下所示:

  1. ssh-copy-id demo@SERVER_IP_ADDRESS

在提示符处提供密码后,您的公钥将添加到远程用户的 .ssh/authorized_keys 文件中。现在可以使用相应的私钥登录服务器。

选项 2:手动安装密钥

假设您使用上一步生成了 SSH 密钥对,请在本地计算机的终端使用以下命令打印您的公钥 (id_rsa.pub):

  1. cat ~/.ssh/id_rsa.pub

这应该会打印出您的 SSH 公钥,它应该类似于以下内容:

id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

选择公钥,并将其复制到剪贴板。

将公钥添加到新的远程用户

要使用 SSH 密钥作为新的远程用户进行身份验证,您必须将公钥添加到用户主目录中的一个特殊文件中。

在服务器上,作为 root 用户,输入以下命令切换到新用户(替换您自己的用户名):

  1. su - demo

现在您将位于新用户的主目录中。

创建一个名为 .ssh 的新目录,并使用以下命令限制其权限:

  1. mkdir .ssh
  2. chmod 700 .ssh

现在用文本编辑器打开 .ssh 中名为 authorized_keys 的文件。我们将使用 vi 来编辑文件:

  1. vi .ssh/authorized_keys

通过按 i 进入插入模式,然后将您的公钥(应该在您的剪贴板中)粘贴到编辑器中。现在点击 ESC 退出插入模式。

输入 :x 然后 ENTER 保存并退出文件。

现在使用以下命令限制 authorized_keys 文件的权限:

  1. chmod 600 .ssh/authorized_keys

键入此命令一次 以返回到 root 用户:

  1. exit

现在您可以 SSH 登录为您的新用户,使用私钥作为身份验证。

要详细了解密钥身份验证的工作原理,请阅读本教程:如何在 Linux 服务器上配置基于 SSH 密钥的身份验证。

第五步——配置 SSH 守护进程

现在我们有了新帐户,我们可以通过修改其 SSH 守护程序配置(允许我们远程登录的程序)来禁止远程 SSH 访问根帐户,从而稍微保护我们的服务器。

首先以 root 身份使用文本编辑器打开配置文件:

  1. vi /etc/ssh/sshd_config

在这里,我们可以选择通过 SSH 禁用 root 登录。这通常是一个更安全的设置,因为我们现在可以通过我们的普通用户帐户访问我们的服务器,并在必要时提升权限。

要禁用远程 root 登录,我们需要找到如下所示的行:

#PermitRootLogin yes

提示:要搜索此行,请键入 /PermitRoot,然后按 ENTER。这应该将光标带到该行上的 \P 字符。

通过删除 \# 符号取消注释该行(按 Shift-x)。

现在按 c 将光标移动到 \yes。

现在按 cw 替换 \yes,然后输入 \no。完成编辑后点击 Escape。它应该是这样的:

PermitRootLogin no

强烈建议在每台服务器上禁用远程 root 登录!

输入 :x 然后 ENTER 保存并退出文件。

重新加载 SSH

现在我们已经进行了更改,我们需要重新启动 SSH 服务,以便它使用我们的新配置。

键入此以重新启动 SSH:

  1. systemctl reload sshd

现在,在我们退出服务器之前,我们应该测试我们的新配置。在确认可以成功建立新连接之前,我们不想断开连接。

打开一个新的终端窗口。在新窗口中,我们需要开始与服务器的新连接。这一次,我们不使用 root 帐户,而是使用我们创建的新帐户。

对于我们上面配置的服务器,使用此命令进行连接。在适当的地方替换您自己的信息:

  1. ssh demo@SERVER_IP_ADDRESS

注意:如果您使用 PuTTY 连接到您的服务器,请务必更新会话的端口 号以匹配您服务器的当前配置。

系统将提示您输入您配置的新用户密码。之后,您将以新用户身份登录。

请记住,如果您需要以 root 权限运行命令,请在它之前键入 \sudo,如下所示:

  1. sudo command_to_run

如果一切顺利,您可以通过键入以下内容退出会话:

  1. exit

从这往哪儿走?

此时,您的服务器已经有了坚实的基础。您现在可以在服务器上安装您需要的任何软件。

如果您不确定要对服务器做什么,请查看本系列的下一个教程,了解新 CentOS 7 服务器的其他推荐步骤。它涵盖了诸如启用 fail2ban 以降低暴力攻击的有效性、基本防火墙设置、NTP 和交换文件等内容。它还提供指向教程的链接,这些教程向您展示如何设置常见的 Web 应用程序。

如果你只是想探索,看看我们 LEMP 堆栈的其余部分,它将

©2015-2025 艾丽卡 support@alaica.com