在阿里云轻量应用服务器(Simple Application Server,简称 SAS)上部署 Ubuntu 系统,其实和买一台普通 ECS 没太大区别,但因为是“轻量”产品,它的管理逻辑更偏向于“一键式”和“应用镜像”,所以配置思路要稍微调整一下。
很多新手容易踩的坑是:直接去控制台找“安全组”或者“防火墙”,结果发现界面和 ECS 不太一样;或者是买了服务器后,连不上 SSH,因为默认端口被改了或者密码没设置对。
下面我按实际操作的顺序,把从初始化到安全加固的全过程拆解给你,尽量去掉那些虚头巴脑的理论,只讲实操。
1. 初始环境确认:你拿到的是什么?
首先,确保你在阿里云控制台创建实例时,操作系统选的是 Ubuntu(通常是 20.04 LTS 或 22.04 LTS)。
- 注意区分版本:Server 版没有图形界面,全是命令行。如果你习惯 GUI,建议先在本地装个虚拟机练手,或者使用 VNC 登录(后面会说)。
- 获取初始信息:创建完成后,控制台会给你一个 IP 地址、用户名(默认通常是
root)和初始密码。务必截图保存或复制到记事本,这个密码只显示一次。如果忘了,可以在控制台重置 root 密码。
2. 首次连接:别急着敲命令
第一次连上去,建议用 VNC 登录。为什么?因为有时候网络策略还没完全生效,或者 SSH 服务启动有延迟,VNC 能帮你看到屏幕输出,避免把自己锁在外面。
连接成功后,第一件事不是装软件,而是改密码。初始密码通常很复杂且难记,建议立即修改:
passwd
按照提示输入新密码两次。记住,Linux 下输密码是不显示星号的,盲输就行。
3. 核心配置:SSH 密钥登录(强烈推荐)
用密码登录太不安全,也麻烦。作为技术人,首选 SSH 密钥对。
步骤如下:
-
生成密钥:在你的本地电脑(Mac/Linux 终端或 Windows 的 Git Bash/PowerShell)运行:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"一路回车即可,会在
~/.ssh/id_rsa.pub生成公钥。 -
上传公钥到服务器:
- 方法一(简单粗暴):用
cat命令查看你的公钥内容,然后回到服务器终端,编辑/root/.ssh/authorized_keys,把公钥粘贴进去。 - 方法二(推荐):阿里云轻量服务器支持通过控制台“重置密码”或“绑定密钥”功能。在控制台找到你的实例,点击“更多” -> “密码/密钥” -> “绑定密钥”。选择你刚才生成的公钥文件上传。
- 方法一(简单粗暴):用
-
禁用密码登录:
为了安全,必须禁止 root 通过密码远程登录。
编辑 SSH 配置文件:sudo vi /etc/ssh/sshd_config找到并修改以下两项:
PasswordAuthentication no PermitRootLogin prohibit-password # 或者直接用 no,但我建议保留密码登录权限仅用于紧急救援,日常用密钥保存退出后,重启 SSH 服务:
sudo systemctl restart sshd测试:断开当前连接,尝试用密钥重新登录。如果成功,再考虑是否彻底禁止 root 密码登录。
4. 防火墙与安全组:这是最容易混淆的地方
阿里云轻量服务器的网络隔离靠两层:阿里云控制台的“防火墙” 和 系统内部的 ufw 或 iptables。
-
第一层:阿里云控制台防火墙
在控制台左侧菜单找到“防火墙”选项。这里添加规则比 ECS 的安全组直观。- 必须放行:TCP 22 (SSH)。
- 按需放行:80 (HTTP), 443 (HTTPS), 以及你业务使用的端口(如 3306, 8080 等)。
- 重点:这里的规则优先级高于系统内部防火墙。如果你控制台没开 80 端口,你在系统里开了也没用。
-
第二层:系统内部防火墙 (UFW)
Ubuntu 默认自带ufw。轻量服务器默认可能未启用,但建议启用以提供额外防护。sudo ufw enable sudo ufw default deny incoming sudo ufw allow ssh sudo ufw allow http sudo ufw allow https检查状态:
sudo ufw status。
5. 系统基础优化与更新
刚初始化的 Ubuntu 比较“素”,需要做些基础清理和优化。
1. 更新源和软件包
国内访问 Ubuntu 官方源有时慢,建议换成阿里源或清华源。
# 备份原源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑源列表 (以 Ubuntu 20.04 为例,替换为阿里源)
sudo vi /etc/apt/sources.list
# 将原有内容注释或删除,加入以下内容:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
# 更新缓存
sudo apt update
sudo apt upgrade -y
2. 安装常用工具
sudo apt install -y vim curl wget git htop net-tools unzip zip
3. 时区设置
确保服务器时间与中国时间一致:
timedatectl set-timezone Asia/Shanghai
6. 用户权限管理:不要一直用 Root
虽然轻量服务器默认只有 root 用户,但生产环境不建议直接用 root 跑所有任务。
创建一个普通用户并赋予 sudo 权限:
sudo adduser newuser
sudo usermod -aG sudo newuser
之后你可以用 newuser 登录,执行命令时加 sudo。这样即使误操作,也有缓冲。
7. 常见坑点排查
-
连不上 SSH?
- 检查控制台防火墙是否放行了 22 端口。
- 检查本地 SSH 客户端是否正确加载了私钥(Windows 用 PuTTY 或 MobaXterm,Mac/Linux 用
ssh -i key.pem root@IP)。 - 检查
/etc/ssh/sshd_config里的Port是否被修改过。
-
网站打不开?
- 检查 Nginx/Apache 是否启动:
systemctl status nginx。 - 检查防火墙是否放行 80/443。
- 检查域名解析是否指向了该 IP。
- 检查 Nginx/Apache 是否启动:
-
内存不够?
轻量服务器配置较低,如果跑 Java 或大型数据库,容易 OOM(内存溢出)。可以添加 Swap 分区:sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
总结
在阿里云轻量服务器上配置 Ubuntu,核心就三步:
- 搞定连接:用密钥登录,放弃密码登录。
- 打通网络:控制台防火墙 + 系统 UFW 双重保险,只开必要端口。
- 基础环境:换源、更新、装工具、建普通用户。
这套流程走下来,你的服务器就是一个干净、安全、高效的基础设施,接下来就可以随意折腾 Docker、Nginx 或者你的代码项目了。
云技术博客