返回笔记索引

Notes

阿里云 ECS 维护

介绍我对自己阿里云服务器的维护方式。

我的阿里云服务器原先使用 Fedora 为服务器操作系统,意在与我个人电脑保持一致。但是 Fedora 不存在 lts 概念,为了服务器的易维护,决定重装成同为 dnf 系的 Alibaba Cloud Linux。本文主要介绍我对阿里云服务器的重建 以及维护方案。

更换操作系统

选择更换操作系统

image-20260922215638998

选择 Alibaba Cloud Linux

image-20260923003820646

无须密码和密钥对

我们准备通过 Workbench会话管理 进行远程连接,不需要 密码 和 密钥对。

image-20260922232301094

阿里云安全组

阿里云安全组 仅允许 44380 端口的访问,其余全部移出。

image-20260922235043076

Workbench 登录

开启会话管理

会话管理 相比于传统的SSH或RDP直连的方式更加安全方便。而 Workbench 默认通过 会话管理 方式进行连接。

image-20260923001156501

后续使用 Workbench 的 立即登录,也会自动走 会话管理

安全设置

重置密码

root 设置30位强密码 并妥善保管(我自己使用 KeepassXC 和离线 key 文件),供后续关闭 sshvnc 登录兜底用。

注意 ssh 选择 保持原有设置。

image-20260923010117655

重置完成后,通过 vnc 进行登录测试,成功后执行 exit 退出账户。

关闭 ssh

查看哪些服务会拉起 sshd.service

systemctl list-dependencies --reverse sshd.service

输出:

sshd.service
● └─cloud-init.service

查看依赖关系是 Wants 还是 Requires

systemctl show cloud-init.service -p Wants -p Requires

输出:

Requires=system.slice
Wants=sshd-keygen.service sshd.service cloud-init-local.service

说明 cloud-init.service 会拉起 sshd.service,不过关系是 Wants

关闭 sshd

sudo systemctl disable --now sshd.service
sudo systemctl mask sshd.service

重启服务器后检查服务运行情况

systemctl is-enabled sshd.service
systemctl is-active sshd.service

输出:

masked
inactive

检查端口监听情况

sudo ss -lntup

不再有 sshd 进程,剩余进程均只监听 本地回环地址。

image-20260923013523945

总结

当前服务器状态

当前服务器仅 root 设置了强密码,用作 vnc 登录兜底,日常不作使用。

日常使用 Workbench会话管理 进行服务器访问,关闭 sshd 服务减少攻击面。

安全组仅允许 44380 端口对公网暴露。

日常维护

日常定期保证系统和软件更新。

新增软件 或 配置 docker 等行为后,使用 sudo ss -lntup 检查监听端口,如需监听优先使用 本地回环 或 docker 内网。

对于用户数据备份,阿里云赠送了文件备份(免费100 GB),但是,数据库应用及类似的应用 直接备份原始文件无法保证数据完整性,应当使用定时 dump 脚本备份到 home 目录下,借助 阿里云的文件备份,进行数据备份。