阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 16.04初始服务器完全设置

157次阅读
没有评论

共计 4983 个字符,预计需要花费 13 分钟才能阅读完成。

介绍

当你第一次创建一个新的 Ubuntu 16.04 服务器时,有一些配置步骤,你应该早早作为基本设置的一部分。这将增加服务器的安全性和可用性,并为后续操作提供坚实的基础。

第一步 – Root 登录

要登录到您的服务器,您需要知道您的服务器的公共 IP 地址。您还需要密码或(如果您安装了 SSH 密钥进行身份验证)“root”用户帐户的私钥。

下面关于 SSH 相关的文章您也可能喜欢,不妨参考下:

Ubuntu 下配置 SSH 服务全过程及问题解决 http://www.linuxidc.com/Linux/2011-09/42775.htm

Ubuntu 14.04 下安装 Samba 及 SSH 服务端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm

集群环境 SSH 免密码登录设置  http://www.linuxidc.com/Linux/2017-03/141296.htm

提高 Ubuntu 的 SSH 登陆认证速度的办法 http://www.linuxidc.com/Linux/2014-09/106810.htm

远程 SSH 连接服务与基本排错  http://www.linuxidc.com/Linux/2017-05/143738.htm

使用 SSH 公钥密钥自动登陆 Linux 服务器 http://www.linuxidc.com/Linux/2017-02/140642.htm

开启 SSH 服务让 Android 手机远程访问 Ubuntu 14.04  http://www.linuxidc.com/Linux/2014-09/106809.htm

SSH 非交互式密码授权远程执行脚本  http://www.linuxidc.com/Linux/2017-04/143180.htm

SSH 通过密钥登陆 http://www.linuxidc.com/Linux/2017-06/144997.htm

Linux 上实现 SSH 免密码登陆远程服务器  http://www.linuxidc.com/Linux/2017-05/144165.htm

如果您尚未连接到你的服务器,继续前进,登录为 root 使用以下命令(替换您的服务器的公网 IP 地址高亮显示的字)用户:

ssh root@SERVER_IP_ADDRESS

通过接受有关主机的真实性警告,如果出现的话,那么提供你的 Root 认证(密码或私钥)完成登录过程。如果是您首次使用密码登录服务器,则还会提示您更改 root 密码。

关于 Root

root 用户是具有非常广泛特权的 Linux 环境中的管理用户。因为 root 帐户的更高权限的,你实际上是使用它定期 气馁。这是因为固有的 root 帐户的权力的一部分,甚至是偶然做出极具破坏性的变化,能力。

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

第二步 – 创建新用户

一旦你登录为root,我们准备补充一点,我们将使用从现在起登录的新用户帐户。

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

adduser sammy

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

输入强密码,如果需要,可以选择填写任何附加信息。这不是必需的,你只需要碰撞 ENTER 你想跳过任何领域。

第三步 – Root 特权

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

为了避免必须注销正常用户并以 root 帐户重新登录,我们可以为我们的普通帐户设置所谓的“超级用户”或 root 权限。这将使我们的普通用户通过字当头运行具有管理权限的命令 sudo 每一个命令。

要向我们的新用户添加这些权限,我们需要将新用户添加到“sudo”组。默认情况下,在 Ubuntu 16.04,谁属于“命令”组中的用户被允许使用 sudo 命令。

作为 root,运行这个命令到新的用户加入到Sudo 组(替换用新的用户突出显示的单词):

usermod -aG sudo sammy

现在您的用户可以运行具有超级用户权限的命令!

如果要提高服务器的安全性,请按照本教程中的其余步骤操作。

保护服务器的下一步是为新用户设置公钥认证。设置此项将通过要求私有 SSH 密钥登录来提高服务器的安全性。

生成密钥对

如果您还没有 SSH 密钥对,它由一个公钥和私钥,你需要生成一个。如果您已经有您想要使用一个密钥,跳到 复制公钥 一步。

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

ssh-keygen

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

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

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

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

注:如果您离开了密码为空,你将能够使用认证私钥,而无需输入密码。如果输入的密码,则需要两个私钥 密码进行登录。使用密码保护你的钥匙是更安全,但两种方法都有其用途,并且比基本密码验证更安全。

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

复制公钥

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

选项 1:使用 ssh-copy-id

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

运行 ssh-copy-id 通过指定要安装的关键,这样的服务器的用户和 IP 地址的脚本:

ssh-copy-id sammy@SERVER_IP_ADDRESS

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

选项 2:手动安装密钥

假设你产生使用上一步 SSH 密钥对,在 本地计算机 的终端使用下面的命令来打印你的公钥(id_rsa.pub):

cat ~/.ssh/id_rsa.pub

这应该打印你的公共 SSH 密钥,应该看起来像下面:

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

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

为了能够使用 SSH 密钥为一体的新型远程用户进行身份验证,则必须将公共密钥添加到用户的主目录下的特殊文件。

在服务器上 ,以root 用户,输入以下命令暂时切换到新的用户(使用自己的用户名):

su -sammy

现在你将在你的新用户的主目录。

创建一个新目录 .ssh 并用下面的命令限制其权限:

mkdir ~/.ssh
chmod 700~/.ssh

现在打开一个文件 .ssh 名为 authorized_keys 用文本编辑器。我们将用 nano 来编辑文件:

nano ~/.ssh/authorized_keys

现在,通过将其粘贴到编辑器中,插入您的公共密钥(应该在剪贴板中)。

CTRL-x 退出该文件,然后 y 以保存您所做的更改,然后 ENTER 确认文件名。

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

chmod 600~/.ssh/authorized_keys

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

exit

现在您的公钥已安装,您可以使用 SSH 密钥作为您的用户登录。

接下来,我们将介绍如何通过禁用密码身份验证来提高服务器的安全性。

现在您的新用户可以使用 SSH 密钥登录,您可以通过禁用仅密码身份验证来提高服务器的安全性。这样做将限制对您的服务器的 SSH 访问仅限于公钥认证。也就是说,登录到您的服务器(除了控制台)的唯一方法是拥有与安装的公钥配对的私钥。

注意:只有当你安装了一个公共密钥用户在上一节中,建议禁用密码身份验证,第四步。 否则,你将锁定自己的服务器!

要在服务器上禁用密码验证,请按照下列步骤操作。

作为 root新的用户 Sudo,打开 SSH 守护程序配置:

sudo nano /etc/ssh/sshd_config

查找指定线路PasswordAuthentication,删去前面的注释它#,然后将其值改为“无”。在进行更改后,它应该如下所示:

sshd_config – 禁用密码认证
PasswordAuthenticationno

以下是另外两个对于纯钥验证重要的设置,默认设置。如果你以前没有修改这个文件,你 并不 需要更改这些设置:

sshd_config – 重要默认值
PubkeyAuthentication yes
ChallengeResponseAuthenticationno

当你完成更改,保存和使用,我们去了前面的方法关闭文件(CTRL-X然后Y,然后ENTER)。

键入此以重新加载 SSH 守护程序:

sudo systemctl reload sshd

密码验证现已禁用。您的服务器现在只能使用 SSH 密钥身份验证。

第六步 – 测试登录

现在,在注销服务器之前,您应该测试新的配置。在您确认可以通过 SSH 成功登录之前,请不要断开连接。

本地机器 一个新的终端,使用我们新创建的帐户登录到服务器。为此,请使用此命令(替换您的用户名和服务器 IP 地址):

ssh sammy@SERVER_IP_ADDRESS

如果您向用户添加了公钥身份验证,如第四步和五所述,则您的私钥将用作身份验证。否则,系统将提示您输入用户的密码。

请注意有关密钥验证:如果您使用密码生成密钥对,你会被提示输入密码为您的钥匙。 否则,如果您的密钥对是密码短语,您应该没有密码登录到您的服务器。

一旦向服务器提供身份验证,您将以新用户身份登录。

记住,如果你需要运行一个具有 root 权限的命令,在类似这样之前键入“sudo”:

sudo command_to_run

第七步 – 设置基本防火墙

Ubuntu 16.04 服务器可以使用 UFW 防火墙来确保只允许与某些服务的连接。我们可以很容易地使用这个应用程序设置基本的防火墙。

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

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

sudo ufw app list
Available applications:OpenSSH

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

sudo ufw allow OpenSSH

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

sudo ufw enable

键入“y”,然后按 ENTER 键继续。您可以看到仍然允许 SSH 连接:

sudo ufw status
Status: active

ToActionFrom------------OpenSSH                    ALLOW       AnywhereOpenSSH(v6)               ALLOW       Anywhere(v6)

如果您安装和配置额外的服务,则需要调整防火墙设置允许在可接受的流量。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145696.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4983字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中