【设置】如何初始化 Ubuntu 20.04 服务器配置及设置SSH登录
2021年04月08日 09:43:17 作者:Jiaozn 分类:Linux 评论(0)前言
今天我们来学习如何设置 Ubuntu 20.04 的防火墙以及如何设置及使用 SSH 安全登录。在首次创建 Ubuntu 20.04 服务器时,我们应该在初始化时,就应该正确配置服务器,以保证服务器长期的安全及可用性。
第1步:以root身份登录
登录我们的远程服务器,首先需要知道这台服务器的公网IP地址以及账号密码。如果本地安装了用于识别身份的 SSH 密钥,我们也可以使用密钥来登录。
首先,我们来使用 SSH 最基本的方式登录远程服务器。
ssh root@your_server_ip
如果使用密码登录,请在提示下输入正确的密码。如果是第一次使用密码登录服务器,还会提示我们要更改 root 密码。
关于 root 管理员
root 用户拥有 Linux 超级管理员权限,由于 root 的超级权限,因此不建议经常使用它来进行操作。因为操作不好,会对系统严重的破坏性。
接下来,我们来一起创建一个日常用的账号,日常用账号权限有所限制,保证平日操作中即便有误操作也把风险控制在可控的范围内。
第2步:创建新用户
我们首先用 root 用户登录。本教程创建的用户名为 KalaSearch ,大家可以根据自己的习惯和喜好创建自己的用户名。
adduser KalaSearch
输出内容:
root@KalaSearch-server:~$ sudo adduser kala
[sudo] password for root:
Adding user `KalaSearch' ...
Adding new group `KalaSearch' (1002) ...
Adding new user `KalaSearch' (1002) with group `KalaSearch' ...
Creating home directory `/home/KalaSearch' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for kala
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
系统会询问我们关于这个账号的一些初始信息。我们需要输入一个强密码,剩下的根据自己的需要填写即可。
第3步:授权管理权限
现在我们拥有了一个常规权限的新账号。但有时,我们也需要高权限的命令。为了避免普通账号和 root 来回切换,我们可以给普通账号临时赋予超级权限。可以使用 sudo
命令来临时使用超级权限。
如果要把超级权限添加给我们刚创建的普通用户,要把这个用户添加到 sudo 组。默认情况下,在 Ubuntu 20.04 中,允许属于 sudo 组的用户使用 sudo
命令。
以 root 身份运行以下命令,将新用户添加到 sudo 组中。
usermod -aG sudo KalaSearch
现在,我们使用这个普通账号登录时,也可以使用 sudo
命令来执行超级管理员权限可执行的操作了。
第4步: 设置基本防火墙
Ubuntu 20.04 服务器可以使用 UFW 防火墙来确确保只有我们想要的服务可以连接到我们的服务器。
ufw app list
输出结果:
Available applications:
OpenSSH
我们需要确保防火墙允许 SSH 连接。保证我们可以使用 SSH 重新登录我们的服务器。
ufw allow OpenSSH
接下来,我们通过以下命令开启服务器防火墙:
ufw enable
我们键入 Y
然后按回车继续。接下来我们通过以下命令查看 SSH 连接是否可以连接。
ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
由于防火墙允许除 SSH 以外的所有连接,因此,如果安装和配置其他服务,我们就要调整防火墙,以便让这些新增的服务可以连接我们的服务器。
第5步:为普通用户开启外部访问权限
现在我们有一个日常使用的普通用户,我们需要确保可以直接通过 SSH 直接登录用户。
为新用户配置 SSH 访问,有两种方式,一种使用密码登录,另一种使用 SSH 密钥登录。
使用密码登录 root 账户
如果我们使用密码登录 root 账户,那么我们为 SSH 启动密码身份验证。我们首先打开终端,并使用带有新用户名的命令,登录服务器。
ssh KalaSearch@your_server_ip
执行命令后,服务器会询问我们此账号对应的密码,属于对应的密码即可登录服务器。
接下来,如果我们要用这个账号执行超级权限才能执行的命令,可在命令前面增加 sudo
即可。
例如:
sudo XXXXXX
sudo
在首次执行时,会询问账号密码,输入正确的密码即可执行。
为了增强服务器的安全性,强烈建议使用 SSH 密钥,而不是使用密码登录。
使用 SSH 密钥登录 root 账号
如果我们使用 SSH 密钥 登录到服务器,就可以禁用密码的登录。我们首先要把本地的公钥的副本添加到新用户的~/.ssh/authorized_keys
文件夹中,才能登录成功。
由于公钥已经在服务器 root 账户的~/.ssh/authorized_keys
文件夹中,因此我们可以直接把文件夹中的文件直接复制到新账户中。
复制文件最简单的办法是使用rsync
命令。可以复制root
用户的.ssh
目录,保留权限的同时修改文件的所有者。所有操作都在一个命令中完成。
rsync --archive --chown=KalaSearch:KalaSearch ~/.ssh /home/KalaSearch
注意:使用rsync
命令时,一定要注意/
的使用,源目录使用~/.ssh
结尾不包含/
,如果带上 /
的话,rsync
不是把整个目录复制过去,而是把目录里的.ssh
给复制过去,而不是把整个目录复制过去。一定要注意命令的严谨。
现在,我们打开新终端窗口,然后使用新用户名登录服务器吧。
ssh KalaSearch@your_server_ip
执行这段命令后,服务器不会询问我们登录密码,而是直接登录到服务器。
评论
发表评论