Linux 新服务器初始设置:账号、SSH、更新与重启验证

新 Linux 服务器应先准备恢复控制台,再验证普通管理员账号与 SSH 密钥,然后检查更新、时间、必要端口和重启后的状态。完成标准是:独立的新连接及计划重启后,管理入口和所需服务仍正常工作。

创建账号并完成基本配置后,按SSH 密钥登录练习打开新连接,核对权限,再应用防火墙与账号保护。整个验证过程都保留控制台及原有管理会话。

参考环境为常规安装的 Ubuntu 26.04 LTS 或 Rocky Linux 9 系列虚拟机(VM);容器、Windows Subsystem for Linux(WSL)和其他版本的服务、软件包配置可能不同。先按虚拟机环境准备(英语)记录版本并准备恢复入口。

确认目标服务器与恢复路径

在新建虚拟机或测试服务器上练习,选择 Ubuntu 或 Rocky Linux 其中一种。先确认管理权限、控制台入口,以及备份或重建流程。快照方便回退,但不能自动解决同一存储发生故障,或运行中应用数据不一致的问题。

cat /etc/os-release
hostnamectl
ip -brief address
ip route
timedatectl
lsblk -f

记录发行版、主机名、地址、时区与存储,确认当前操作的确是目标机器。不要照抄其他实验中的 IP 地址、服务名或设备名。使用云镜像时,还要核对初始账号,以及 cloud-init 等初始化工具管理的配置。

创建或核验普通管理员账号

已有合适的管理员账号时可直接复用。需要创建 courseadmin 时,先用 getent passwd courseadmin 查询是否已存在;空结果也要结合查询是否成功判断。只运行符合本机发行版的代码块,不要把两种方案连续执行。密码应交互输入,不要写进命令行。

Ubuntu 使用下面一组命令;每条成功后再继续:

sudo adduser courseadmin
sudo usermod -aG sudo courseadmin

Rocky Linux 使用下面一组命令:

sudo useradd -m courseadmin
sudo passwd courseadmin
sudo usermod -aG wheel courseadmin

从新终端登录该账号,检查 id 的组信息与 sudo -v 的结果。追加的附属组可能不会立即进入旧会话;组名本身也不能替代本机 sudoers 授权验证。确需修改 sudoers 时用 visudo 校验语法,并保留原管理员会话,不要为了方便添加无限制的免密码管理权限。

通过独立连接验证 SSH 密钥

安全外壳协议(SSH)用于加密远程连接。在客户端选择获准使用的密钥或创建新密钥,通过可信控制台核对服务器主机密钥指纹。只将公钥登记到目标账号,私钥留在客户端;用实际密钥路径、账号、地址与端口建立独立连接,再在该连接中验证 sudo。

先确认 SSH 实际监听端口与云端访问规则。在验证Ubuntu 官方 SSH 密钥配置和恢复入口之后,才限制密码认证。修改配置后先执行 sudo sshd -t 检查语法,通过后再按实际发行版应用变更,并测试新连接。旧连接仍可用,不能证明新连接已获准;启用连接复用的客户端还应避免把复用旧连接误当成一次新认证。

按计划更新并核对时间与主机身份

Ubuntu 使用 APT 软件包管理工具更新索引并升级:

sudo apt update
sudo apt upgrade

Rocky Linux 使用 DNF 软件包管理工具:

sudo dnf upgrade

仅运行适用的代码块,阅读并确认拟执行的软件包操作。检查服务重启、内核变更和是否需要重启,再测试正在使用的功能,不能只验证 SSH。用 timedatectl 查看时区和同步状态;需要变更时,从本机 timedatectl list-timezones 列出的 IANA 时区名称中按运维策略选择。

如需通过 hostnamectl 修改主机名,先核对域名系统(DNS)、hosts 条目、证书及管理系统的关联,并检查 cloud-init 或其他部署工具是否会覆盖它。已启用网络校时并不等于时钟已成功同步;时间服务器不可达时,应检查实际同步状态及所用校时服务。

限制暴露范围并保存状态基线

查看本机实际采用的防火墙工具:Ubuntu 常见 UFW,Rocky Linux 常见 firewalld。先允许已经核实的管理端口,并测试新连接,再只增加所需服务;核对 IPv4、IPv6,以及主机和云端两层规则。不要未调查原因就关闭安全增强 Linux(SELinux)访问控制。

下面逐条保存系统状态作为基线,不是一段可忽略错误连续运行的脚本。先确认 $HOME/server-baseline 由当前用户控制、不是符号链接,且没有需要保留的同名文件;> 会截断已有文件。每一步出错都应停止并排查,尤其不能在目录创建或权限设置失败后继续写入。

mkdir -p "$HOME/server-baseline"
chmod 700 "$HOME/server-baseline"
cat /etc/os-release > "$HOME/server-baseline/os-release.txt"
ip -brief address > "$HOME/server-baseline/addresses.txt"
lsblk -f > "$HOME/server-baseline/storage.txt"
systemctl --failed > "$HOME/server-baseline/failed-units.txt"

在 Linux 上,目录权限 700 表示仅所有者可进入并读写;仍需核对实际权限和所有者。逐条确认命令成功、文件可读、内容符合预期,不能因文件存在就认定采集成功:重定向可能先创建空文件,而命令随后失败。失败单元应逐项调查,也应与首次安装时已知状态区分。

这些命令不主动收集密码、私钥或令牌,但地址、磁盘布局和服务名称仍是运维信息,应限制访问并检查内容后再分享。配置备份需另行保管,记录授权恢复人员能够访问的位置与方法,不能把状态基线当作完整备份。

计划重启后判断是否就绪

  1. 选择允许中断的时段,确认控制台能够使用,保存必要数据。
  2. 执行计划内的 sudo reboot,通过控制台观察启动进度。
  3. 建立新的 SSH 连接,验证 sudo、网络、时间同步、所需服务和挂载。
  4. 检查 systemctl --failed 及本次启动日志,与基线对照差异。

若无法重连,使用控制台依次核对实际地址、SSH 服务、监听端口和防火墙。按最后一次变更选择恢复措施,避免同时猜测性地修改多项配置。管理入口验证通过后,再安装应用服务。

官方参考资料