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

加载更多搜索结果...

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

使用 Ubuntu 20.04 进行初始服务器设置

介绍

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

第 1 步 — 以 root 身份登录

要登录到您的服务器,您需要知道服务器的公共 IP 地址。您还需要密码,或者——如果您安装了用于身份验证的 SSH 密钥——root 用户帐户的私钥。如果您还没有登录到您的服务器,您可能需要按照我们关于如何使用 SSH 连接到 Droplets 的指南进行操作,其中详细介绍了这个过程。

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

  1. ssh root@your_server_ip

接受有关主机真实性的警告(如果出现)。如果您使用密码身份验证,请提供您的 root 密码以登录。如果您使用受密码保护的 SSH 密钥,则每次会话首次使用该密钥时,系统可能会提示您输入密码。如果这是您第一次使用密码登录服务器,系统可能还会提示您更改 root 密码。

关于根

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

下一步是设置一个新的用户帐户,以减少日常使用的权限。稍后,我们将向您展示如何在需要时临时获得更高的权限。

第 2 步 — 创建新用户

以 root 身份登录后,您将能够添加新用户帐户。以后,我们将使用这个新帐户而不是 root 登录。

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

  1. adduser sammy

您将被问到几个问题,从帐户密码开始。

输入一个强密码,如果您愿意,可以选择填写任何附加信息。这不是必需的,您可以在要跳过的任何字段中点击 ENTER。

第 3 步 — 授予管理权限

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

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

要将这些权限添加到我们的新用户,我们需要将用户添加到 sudo 组。默认情况下,在 Ubuntu 20.04 上,sudo 组成员的用户可以使用 sudo 命令。

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

  1. usermod -aG sudo sammy

现在,当以普通用户身份登录时,您可以在命令前键入 sudo 以超级用户权限运行它们。

第 4 步 — 设置基本防火墙

Ubuntu 20.04 服务器可以使用 UFW 防火墙来确保只允许连接到某些服务。我们可以使用这个应用程序设置一个基本的防火墙。

注意:如果您的服务器在 DigitalOcean 上运行,您可以选择使用 DigitalOcean 云防火墙而不是 UFW 防火墙。我们建议一次只使用一个防火墙,以避免可能难以调试的冲突规则。

应用程序可以在安装时向 UFW 注册它们的配置文件。这些配置文件允许 UFW 按名称管理这些应用程序。 OpenSSH,该服务允许我们现在连接到我们的服务器,它有一个在 UFW 注册的配置文件。

您可以通过键入以下内容来查看:

  1. ufw app list
Output
Available applications: OpenSSH

我们需要确保防火墙允许 SSH 连接,以便我们下次可以重新登录。我们可以通过键入以下内容来允许这些连接:

  1. ufw allow OpenSSH

之后,我们可以通过键入以下内容来启用防火墙:

  1. ufw enable

键入 y 并按 ENTER 继续。您可以通过键入以下内容看到仍然允许 SSH 连接:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

由于防火墙当前阻止除 SSH 之外的所有连接,如果您安装和配置其他服务,您将需要调整防火墙设置以允许流量进入。您可以在我们的 UFW Essentials 中了解一些常见的 UFW 操作 指南。

第 5 步 — 为普通用户启用外部访问

现在我们有了一个日常使用的普通用户,我们需要确保我们可以直接通过 SSH 连接到该帐户。

注意:在验证您可以登录并以新用户身份使用 sudo 之前,我们建议您以 root 身份保持登录状态。这样,如果您遇到问题,您可以以 root 身份进行故障排除并进行任何必要的更改。如果您使用的是 DigitalOcean Droplet 并且遇到根 SSH 连接问题,您可以使用故障恢复控制台重新获得对 Droplet 的访问权限。

为新用户配置 SSH 访问的过程取决于服务器的根帐户是使用密码还是 SSH 密钥进行身份验证。

如果root账户使用密码认证

如果您使用密码登录到您的根帐户,则启用 SSH 的密码身份验证。您可以通过打开一个新的终端会话并使用 SSH 和您的新用户名来 SSH 到您的新用户帐户:

  1. ssh sammy@your_server_ip

输入普通用户的密码后,您将登录。请记住,如果您需要以管理权限运行命令,请在它之前键入 sudo,如下所示:

  1. sudo command_to_run

每次会话首次使用 sudo 时(以及之后定期),系统都会提示您输入常规用户密码。

为了增强服务器的安全性,我们强烈建议设置 SSH 密钥而不是使用密码身份验证。按照我们在 Ubuntu 20.04 上设置 SSH 密钥的指南,了解如何配置基于密钥的身份验证。

如果root账户使用SSH Key认证

如果您使用 SSH 密钥登录到您的 root 帐户,那么 SSH 的密码验证将被禁用。您需要将本地公钥的副本添加到新用户的 ~/.ssh/authorized_keys 文件中才能成功登录。

由于您的公钥已经在服务器上根帐户的 ~/.ssh/authorized_keys 文件中,我们可以将该文件和目录结构复制到现有会话中的新用户帐户。

复制具有正确所有权和权限的文件的最简单方法是使用 rsync 命令。这将复制 root 用户的 .ssh 目录,保留权限并修改文件所有者,所有这些都在一个命令中完成。确保更改以下命令的突出显示部分以匹配您的常规用户名:

注意:rsync 命令处理以尾部斜杠结尾的源和目标与没有尾部斜杠的源和目标不同。使用下面的 rsync 时,请确保源目录 (~/.ssh) 不包含尾部斜杠(检查以确保您没有使用 ~ /.ssh/)。

如果您不小心在命令中添加了尾部斜杠,rsync 会将根帐户的~/.ssh 目录的内容 复制到sudo 用户的主目录,而不是复制整个 ~/.ssh 目录结构。这些文件将位于错误的位置,SSH 将无法找到和使用它们。

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

现在,在您的本地机器上打开一个新的终端会话,并使用您的新用户名使用 SSH:

  1. ssh sammy@your_server_ip

您应该在不使用密码的情况下登录到新用户帐户。请记住,如果您需要以管理权限运行命令,请在命令之前键入 sudo,如下所示:

  1. sudo command_to_run

每次会话首次使用 sudo 时(以及之后定期),系统都会提示您输入常规用户密码。

从这往哪儿走?

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

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