Skip to content

No.2 Ubuntu 20.04 云服务器初始化设置

购买了 Ubuntu 20.04 云服务器以后,为了提升系统的安全性和可靠性,我一般会进行一系列很基础的系统初始化设置。它们包括:

  1. 创建一个普通管理员账户
  2. 使用 SSH 密钥认证身份
  3. 禁用 SSH 密码登录

接下来让我为大家演示如何进行这些初始化设置。

提示

本视频同时适用于 Ubuntu 各历史版本,所有基于 Debian 的发行版皆可参考。

这里还是以 Vultr 平台的云服务器为例进行演示。

新用户使用右侧推广链接注册可以 👉获得$100的30天体验额度

视频地址

一、创建普通管理员账户

条件假设

假设我们当前使用 root 用户身份,通过 SSH 远程登录到 Ubuntu 20.04 的终端。终端命令提示符为 #

1. 创建普通用户

这里我们使用 adduser 命令创建一个名为 herald 的用户,执行命令后,系统会交互询问密码、全名等一系列问题,除密码外,其他信息都可不填。

实际的用户名请按需修改

shell
# adduser herald

2. 将用户添加到 sudo 用户组

使用 usermod 命令,附加 -aG 参数,将用户 herald 添加到 sudo 用户组。

shell
# usermod -aG sudo herald

-aG 参数可以在保持用户原有用户组设置的前提下,将用户追加到指定的用户组。不使用 -a 参数会使用户离开原有用户组,仅加入到命令中指定的用户组。

二、使用 SSH 密钥登录云服务器

第一步 创建密钥对

Windows 系统

在本地计算机的 PowerShell 中执行 ssh-keygen.exe 命令,会在 C:\Users\Herald/.ssh/ 目录生成一个名为 id_rsa 的私钥和一个名为 id_rsa.pub 的公钥。

powershell
PS C:\Users\Herald> ssh-keygen.exe

MacOS & Linux 系统

打开终端,执行 ssh-keygen 命令,会在 ~/.ssh/ 目录生成一个名为 id_rsa 的私钥和一个名为 id_rsa.pub 的公钥。

shell
$ ssh-keygen

第二步 将公钥复制到云服务器

通用方法

Windows 系统将命令中的 ~/.ssh/id_rsa.pub 替换成 C:\Users\Herald/.ssh/id_rsa.pub

username 替换为登录云服务器的用户名,remote_host 替换为云服务器的 IP 地址。

shell
$ cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

三、禁用 SSH 密码登录

编辑 ssh 服务的配置文件 sshd_config

shell
$ sudo nano /etc/ssh/sshd_config

PasswordAuthentication 项修改为 no

重启 ssh 服务

shell
sudo systemctl restart ssh