从零开始部署阿里云 Ubuntu 服务器
🚀 从零开始部署阿里云 Ubuntu 服务器(安全实践版)
本文适用于使用 阿里云 ECS + Ubuntu 22.04 的用户,目标是:安全、高效、可维护地初始化一台公网服务器。
一、创建实例
- 登录 阿里云控制台
- 创建 ECS 实例:
- 镜像:Ubuntu 22.04 64位
- 规格:按需选择(如 2核2G)
- 网络:默认 VPC 即可
- 登录方式:选择“密钥对”(不要用密码!)
- 创建新密钥对(如
my-server-key),下载.pem文件并妥善保存
- 创建新密钥对(如
- 记下分配的 公网 IP(如
<your-public-ip>)
💡 密钥对会自动注入到
ubuntu用户的~/.ssh/authorized_keys
二、本地连接服务器(Ubuntu 客户端)
1. 准备密钥
1 | # 移动密钥到 ~/.ssh/ |
2. 首次登录(Ubuntu 镜像默认用户是 ubuntu)
1 | ssh -i ~/.ssh/my-server-key.pem ubuntu@<your-public-ip> |
✅ 成功登录后,你会看到 Ubuntu 欢迎信息。
三、创建专属管理用户(推荐)
避免直接使用 ubuntu 或 root,创建自己的用户:
1 | # 创建用户(如 <your-username>) |
四、配置 SSH 密钥登录(用新用户)
1. 在本地生成密钥(如果还没有)
1 | ssh-keygen -t rsa -b 4096 |
2. 将公钥上传到服务器(通过 root 或 ubuntu 用户操作)
1 | # 在服务器上(以 ubuntu 或 root 身份) |
🔁 或者手动复制
cat ~/.ssh/id_rsa.pub内容,粘贴到/home/<your-username>/.ssh/authorized_keys
3. 测试新用户登录
1 | ssh <your-username>@<your-public-ip> |
✅ 应直接登录成功。
五、禁用不安全的登录方式(关键!)
1. 编辑 SSH 配置
1 | sudo nano /etc/ssh/sshd_config |
确保以下设置:
1 | PermitRootLogin no # 禁止 root 远程登录 |
2. 重启 SSH 服务
1 | sudo systemctl restart sshd |
3. 验证
ssh root@...→ 应拒绝ssh <your-username>@...→ 应成功
六、配置安全组(防火墙)
- 登录阿里云控制台 → 安全组
- 添加入方向规则:
- SSH (22):授权对象 =
你的公网IP/32- 获取当前 IP:
curl ifconfig.me
- 获取当前 IP:
- (可选)VPC 内互通:
100.64.0.0/10或100.104.0.0/16(阿里云内网段)
- SSH (22):授权对象 =
❌ 不要长期开放
0.0.0.0/0到 22 端口!
七、日常使用建议
| 操作 | 命令 |
|---|---|
| 切换到 root | sudo -i |
| 执行单条管理员命令 | sudo apt update |
| 查看当前用户 | whoami |
| 退出 root | exit |
✅ 始终以普通用户(如
<your-username>)登录,用sudo提权。
八、附录:关键概念说明
100.104.0.0/16是什么?
属于100.64.0.0/10(CGNAT 保留地址),在阿里云中作为 VPC 内网 IP 使用,仅限云内通信,不可公网访问。为什么不用 root 登录?
减少攻击面,符合最小权限原则。为什么禁用密码?
密钥比密码更安全,且无法被暴力破解。
✅ 最终效果
- 只有你的 IP 能访问 SSH
- 只能通过密钥登录
- 登录用户为
<your-username>,通过sudo管理系统 - root 无法远程登录
- 服务器安全基线达标
🎉 你现在拥有一台安全、标准、可维护的生产级服务器!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 From Zero to Hero!