前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。
使用 Ubuntu 20.04 进行初始服务器设置
介绍
首次创建新的 Ubuntu 20.04 服务器时,应该执行一些重要的配置步骤作为初始设置的一部分。这些步骤将提高服务器的安全性和可用性,并为后续操作奠定坚实的基础。
第 1 步 — 以 root 身份登录
要登录服务器,这个需要知道服务器的公共 IP 地址、密码,或者(如果安装了用于身份验证的 SSH 密钥)root用户帐户的私钥。如果尚未连接到服务器,请使用以下命令以root用户身份登录:
ssh root@your_server_ip
如果出现有关主机真实性的警告,点接受。如果使用密码身份验证,要提供root密码进行登录。如果使用受密码保护的 SSH 密钥,则每次会话首次使用该密钥时,系统可能会提示输入密码。如果第一次使用密码登录服务器,系统可能还会提示更改root密码。
关于root
root用户是 Linux 环境中的管理用户,拥有非常广泛的权限**。由于root帐户的权限较高,因此不鼓励定期使用它。这是因为root**帐户能够做出非常具有破坏性的更改,比如:删库跑路。
登录之后的下一步是设置一个新的用户帐户,并降低日常使用的权限。
第 2 步 — 创建新用户
以root身份登录后,将能够添加新的用户帐户。之后,将使用这个新帐户而不是root登录。
此示例创建一个名为sammy的新用户:
adduser sammy
然后系统会提示输入一个密码,这里建议给一个复杂的。之后还有其他的设置项,可以直接点击ENTER
跳过,也可以一项一项去写。
第 3 步 — 授予管理权限
现在我们有了一个具有常规帐户权限的新用户帐户。下来我们为普通帐户设置所谓的超级用户或**root权限。**这将允许我们的普通用户通过在命令前添加sudo
单词来运行具有管理权限的命令。
要将这些权限添加到我们的新用户,我们需要将该用户添加到sudo组。默认情况下,在 Ubuntu 20.04 上,允许sudo组成员的用户使用该sudo
命令。
以root身份运行以下命令将新用户添加到sudo组:
usermod -aG sudo sammy
现在,当以普通用户身份登录时,可以在命令之前输入sudo
以使用超级用户权限运行它们。
第 4 步 — 设置基本防火墙
Ubuntu 20.04 服务器可以使用 UFW 防火墙来确保只允许连接到某些服务。我们可以使用此应用程序设置基本防火墙。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 连接到该帐户。
注意:sudo
在验证可以使用新用户登录并使用之前,建议保持以root身份登录。这样,如果遇到问题,可以以root身份进行故障排除并进行任何必要的更改。
为新用户配置 SSH 访问的过程取决于服务器的root帐户是使用密码还是 SSH 密钥进行身份验证。
如果root账户使用密码认证
如果使用密码登录root帐户,则为SSH启用密码身份验证。可以通过打开一个新的终端会话并使用 SSH 和新用户名来通过 SSH 连接到新用户帐户:
ssh sammy@your_server_ip
输入普通用户的密码登录。如果需要使用管理权限运行命令,请输入如下内容:
sudo command_to_run
每次会话首次使用sudo
时(以及此后定期),系统都会提示输入常规用户密码。
为了增强服务器的安全性,强烈建议设置 SSH 密钥而不是使用密码身份验证。请按照在 Ubuntu 20.04 上设置 SSH 密钥的来了解如何配置基于密钥的身份验证。
如果root账户使用SSH密钥认证
如果使用 SSH 密钥登录到root帐户,则SSH 的密码身份验证将被*禁用。*需要将本地公钥的副本添加到新用户的~/.ssh/authorized_keys
文件中才能成功登录。
由于公钥已位于服务器上的根帐户~/.ssh/authorized_keys
文件中,因此我们可以将该文件和目录结构复制到现有会话中的新用户帐户中。
复制具有正确所有权和权限的文件的最简单方法是使用命令rsync
。这会复制root用户的.ssh
目录、保留权限并修改文件所有者,所有这些都通过单个命令完成。确保更改以下命令的突出显示部分以匹配常规用户名:
**注意:**该rsync
命令对待以尾部斜杠结尾的源和目标的方式与不以尾部斜杠结尾的源和目标不同。在下面使用时rsync
,请确保源目录 ( ~/.ssh
)不包含尾部斜杠(检查以确保你没有使用~/.ssh/
)。
如果不小心在命令中添加了尾部斜杠,rsync
则会将根帐户目录的内容复制到用户的主目录,而不是复制整个目录结构。这些文件将位于错误的位置,并且 SSH 将无法找到并使用它们。
rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
现在,在本地计算机上打开一个新的终端会话,并使用 SSH 和新用户名:
ssh sammy@your_server_ip
现在应该无需使用密码即可登录新用户帐户。请记住,如果需要以管理权限运行命令,请sudo
在其前面键入:
sudo command_to_run
标签:sudo,帐户,使用,用户,SSH,Ubuntu,服务器,root,20.04
From: https://blog.51cto.com/TiMi/9157119