你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu 16.04初始服务器完全设置

[日期:2017-07-15] 来源:Linux社区  作者:Linux [字体: ]

介绍

当你第一次创建一个新的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

linux
相关资讯       Ubuntu 16.04设置 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款