Ubuntu 22.04 初始化服务器设置

1、介绍

当你第一次创建一个新的Ubuntu 22.04服务器时,你应该执行某些重要的配置步骤作为初始化设置的组成部分。这些步骤将增强你服务器的安全性和可用性,并且为后续操作给你一个坚实基础。

第一步 以root登录

要登录你的服务器,你需要知道你的服务器公共IP地址。如果你为验证安装了SSH key,你也将需要用于这个root用户账户的密码或者私钥。

如果你当前没有连接到你的服务器,使用以下命令以root用户登录。用你服务器的公共IP地址替代这条命令加粗的your_server_ip部分:

$ ssh root@your_server_ip

如果主机真实性警告出现了,接受它。如果你的服务器使用密码验证,提供你的root密码登录。如果你使用一个受私钥密码保护的SSH key,你会需要首次输入口令,你每次会话使用这个key。如果这是你的首次使用密码登录到这个服务器,你也需要更改root密码。如果你接收到一个提示,根据这些说明来更改这个密码。

有关root

root用户是在Linux环境中有提升权限的管理员用户。由于root账户的提升权限,一般不鼓励你使用它。root账户可以做具有破坏性非常强的更改,即使意外。

下一步是设置一个具有降低权限用于日常使用的新用户账户。之后,我们将展示在你需要增加的权限时,如何获取它们。

第二步、创建一个新用户

一旦你以root登录,你将能够添加新用户账户。在未来,我们将用这个新用户替代老用户登录。

本例创建一个名为epics的新用户,但你应该用一个你喜欢的用户名替换它:

root@blctrl:~# useradd epics
root@blctrl:~# passwd epics
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: password updated successfully

你将被问到一些问题,以账户密码开始。

输入一个强密码,并且可选地,填入你想要地任何其它信息。这些信息不是必需地,并且你可以在你想要跳过的任何字段,你可以按下ENTER。

第三步、授予管理权限

现在,你有了一个具有一般账户权限的新用户账户。但,你有时将需要以root用户执行管理任务。为了避免退出你的常规用户并且登回到root账户,你可以为你的用户的常规账户设置所知的超级用户或root权限。这些权限通过在命令前放置sudo允许你的一般用户以管理员权限运行命令。

要向你的新用户添加这些权限,你将需要添加这个用户到sudo系统组。在Ubuntu 22.04上默认,其为sudo组的成员的用户被允许使用sudo命令。

作为root,允许这个命令添加你的新用户到sudo组(用你的新用户替代粗体的epics):

root@blctrl:~# usermod -aG sudo epics

Ubuntu 22.04服务器可以使用UFW防火墙来确保仅允许对特定服务的连接。你可以设置一个使用这个程序的基本防火墙。

应用程序可以在安装时向UFW注册它们的描述。这些描述允许UFW通过名称管理这些应用程序。OpenSSH,允许你连接你服务器的服务已经向UFW注册了一个描述。

你可以通过输入以下检测安装的UFW描述的列表:

root@blctrl:~# ufw app list
Available applications:
  CUPS
  OpenSSH

你将需要确认这个防火墙允许SSH连接,因而你下次能够登录你的服务器。通过输入以下允许这些连接:

root@blctrl:~# ufw allow OpenSSH
Rules updated
Rules updated (v6)

现在你通过输入以下启用这个防火墙:

root@blctrl:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

输入y并且按下ENTER以继续。通过输入以下你可以看到SSH连接仍然被允许:

root@blctrl:~# ufw status
Status: active

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

 这个防火墙当前仍然阻塞除SSH外的所有连接。如果你安装并且配置了其它服务,你将需要调整这个防火墙设置来允许新的流量进入你的服务器。

第四步、为你的常规用户启用外部访问

现在你有了一个用于日常使用的常规用户,你将需要确认你可以直接SSH到这个账户。

为你的新用户配置SSH访问依赖于你的服务器的root账户是否使用了一个密码或者SSH keys用于验证。

如果root账户使用密码验证

如果你使用密码登录过你的root账户,则为SSH启用了密码验证。你通过打开一个新的终端会话并且对SSH使用你新的用户名,能够SSH到你的新用户账户:

ssh epics@your_server_ip

在输入你的常规用户密码后,你将登入。记住,如果你需要以管理员权限运行一个命令,向这样在它前输入sudo:

当每个会话首次使用(并且之后周期地)sudo时,你将收到一个需要输入你常规用户密码地提示。

为了增强服务器的安全性,我们强烈推荐使用SSH keys替代使用密码验证。

如果root账户使用SSH key验证

如果你使用SSH keys登录到你的root账户,则对SSH禁用密码验证。要用SSH key以你常规用户登录,你必需添加你的本地公钥的一个副本到你的新用户的~/.ssh/authorized_keys文件。

由于你的公钥已经在服务器的root账户的~/.ssh/authorized_keys文件中,你可以使用你的当前会话复制那个文件和目录结构到你的新用户账户。

带当前所有者和权限地复制文件的最简单方法是用rsync命令。这个命令将复制root用户的.ssh目录,保留权限,并且修改文件所有者,在单条命令中完成一切。确认更改以下命令的粗体部分匹配你的常规用户的名称:

root@blctrl:~# rsync --archive --chown=epics:epics ~/.ssh /home/epics/

注意:rsync命令处理以末尾带反斜杠和不带反斜杠的源目录和目的目录不同。当使用以上rsync时,确保源目录(~/.ssh)不包含一个反斜杠(检测确保你美哟使用~/.ssh/)。

如果你意外地添加了一个反斜杠到这条命令,rsync将复制这个root账户的~/.ssh目录的内容到sudo用户的家目录而不是复制整个~/.ssh目录结构。这些文件将在错误的位置并且SSH将不能找到和使用它们。

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

ssh epics@your_server_ip

你应该用这个新用户账户无需密码地连接到你的服务器。记住,如果你需要用管理员权限运行一条命令,像这样在命令前输入sudo:

sudo command_to_run

当你每个会话首次(以及之后周期地)使用sudo时,你将提示常规用户的密码。

猜你喜欢

转载自blog.csdn.net/yuyuyuliang00/article/details/130793602
今日推荐