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

幻昼 2021年05月20日 246次浏览

介绍

首次创建新的Ubuntu 18.04服务器时,您应在基本设置的早期阶段执行一些配置步骤。这将提高服务器的安全性和可用性,并为后续操作奠定坚实的基础。

第1步-以root身份登录

要登录服务器,您需要知道服务器的公共IP地址。您还将需要密码,或者,如果您安装了用于身份验证的SSH密钥,还需要root用户帐户的私钥。

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

ssh root@your_server_ip

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

关于Root

用户是在具有非常广泛的特权Linux环境中管理用户。由于root帐户具有更高的特权,因此不建议您定期使用它。这是因为root帐户固有的部分能力是即使在偶然的情况下也可以进行具有破坏性的更改的能力。

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

第2步-创建新用户

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

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

adduser xlxs

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

输入一个强密码,并根据需要填写其他任何信息。这不是必需的,您可以单击ENTER任何要跳过的字段。

第3步-授予管理权限

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

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

要将这些特权添加到我们的新用户,我们需要将新用户添加到sudo组。默认情况下,在Ubuntu 18.04上,允许属于sudo组的用户使用该sudo命令。

root身份运行此命令,将您的新用户添加到sudo组(用新用户替换突出显示的单词):

usermod -aG sudo xlxs

现在,以普通用户身份登录后,您可以sudo在命令之前键入命令以执行具有超级用户特权的操作。

步骤4 —设置基本防火墙

Ubuntu 18.04服务器可以使用UFW防火墙来确保仅允许连接到某些服务。使用此应用程序,我们可以非常轻松地设置基本防火墙。

安装后,不同的应用程序可以向UFW注册其配置文件。这些配置文件使UFW能够按名称管理这些应用程序。OpenSSH是一项允许我们现在连接到服务器的服务,其配置文件已在UFW中注册。

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

ufw app list
OutputAvailable applications:
  OpenSSH

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

ufw allow OpenSSH

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

ufw enable

输入“ y”,然后按ENTER以继续。您可以通过键入以下命令来查看仍然允许SSH连接:

ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

由于防火墙当前阻止除SSH之外的所有连接,因此,如果安装和配置其他服务,则需要调整防火墙设置以允许可接受的流量进入。

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

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

注意:在确认您可以登录并sudo与新用户一起使用之前,我们建议保持root身份登录。这样,如果遇到问题,您可以进行故障排除并以root身份进行任何必要的更改。

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

如果根帐户使用密码身份验证

如果您使用password登录到root帐户,那么将为SSH启用密码身份验证。您可以通过打开新的终端会话并使用带有新用户名的SSH SSH到您的新用户帐户:

ssh xlxs@your_server_ip

输入普通用户的密码后,您将登录。请记住,如果您需要运行具有管理特权的命令,请用sudo像下面这样键入:

sudo command_to_run

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

为了增强服务器的安全性,强烈建议您设置SSH密钥,而不要使用密码身份验证。(具体方法网上找吧,平时用密码也一样)

如果Root帐户使用SSH密钥身份验证

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

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

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

注意:rsync命令将以尾斜杠结尾的源和目标与不以尾斜杠结尾的源和目标区别对待。在rsync下面使用时,请确保源目录(~/.ssh中不包含斜杠(请检查以确保您未使用~/.ssh/)。如果你不小心一个斜线添加到命令,rsync将复制的内容中的帐户的~/.ssh目录到sudo用户的主目录,而不是复制整个~/.ssh目录结构。这些文件将位于错误的位置,并且SSH将无法找到和使用它们。

rsync --archive --chown=xlxs:xlxs ~/.ssh /home/xlxs

现在,打开一个新的终端会话,并使用带有新用户名的SSH:

ssh xlxs@your_server_ip

您应该不使用密码登录到新用户帐户。请记住,如果您需要运行具有管理特权的命令,请在命令之前输入以下内容sudo

sudo command_to_run

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