在阿里云 Linux 服务器上配置 Ubuntu 远程 SSH 登录,实际上需要先确认当前系统是否为 Ubuntu。阿里云默认提供多种镜像(如 CentOS、Alpine、Ubuntu 等),不能直接“配置成 Ubuntu”,但可以:
- 确认当前系统是否为 Ubuntu
- 若已是 Ubuntu:配置 SSH 服务并放行安全组即可远程登录
- 若不是 Ubuntu:需重装为 Ubuntu 镜像(推荐方式)或手动安装 Ubuntu 环境(不推荐,易出错)
✅ 正确步骤(推荐方案)
步骤 1:确认当前系统
cat /etc/os-release
- 若输出包含
ID=ubuntu,说明已是 Ubuntu,跳至步骤 2 - 若不是(如
ID=centos、ID=alibabacloud),强烈建议重新创建实例并选择 Ubuntu 镜像(见下方说明)
⚠️ 注意:阿里云 ECS 不支持将 CentOS/其他发行版“转换”为 Ubuntu。强行安装 Ubuntu 包管理器(如
apt)会导致系统混乱。
步骤 2:确保 SSH 服务已安装并运行(Ubuntu 系统)
# 更新软件源
sudo apt update
# 安装 OpenSSH 服务器(Ubuntu 通常预装,但可确认)
sudo apt install openssh-server -y
# 检查服务状态
sudo systemctl status ssh
# 若未运行,启动它
sudo systemctl enable --now ssh
步骤 3:配置防火墙与安全组(关键!)
A. 本地防火墙(UFW,若启用)
sudo ufw allow 22/tcp
sudo ufw reload
B. 阿里云控制台安全组(必须配置)
- 登录 阿里云 ECS 控制台
- 找到你的实例 → 点击「更多」→ 「网络和安全组」→ 「安全组」
- 编辑该安全组的 入方向规则:
- 协议:TCP
- 端口范围:
22/22(或自定义如2200/2200) - 授权对象:
0.0.0.0/0(允许所有 IP,生产环境建议限制为具体 IP) - 策略:允许
🔒 安全提示:生产环境务必限制授权 IP,避免暴力破解。
步骤 4:重启实例(可选,但推荐)
sudo reboot
步骤 5:从本地连接测试
ssh ubuntu@<你的公网IP>
# 或使用你创建的自定义用户名(如 admin)
ssh <用户名>@<公网IP>
首次连接会提示指纹确认,输入 yes 后输入密码即可。
❌ 常见误区澄清
| 误区 | 事实 |
|---|---|
| “把 CentOS 改成 Ubuntu” | 不可行;不同发行版内核/库不兼容,强行替换会导致系统崩溃 |
“安装 ubuntu-base 包就能变 Ubuntu” |
错误;仅安装部分工具无法改变系统本质,仍非真正 Ubuntu |
“修改 /etc/os-release 文件就行” |
无效;这只是标识文件,实际行为由包管理器和内核决定 |
🔄 如果当前不是 Ubuntu?正确做法
- 停止当前实例(不影响数据)
- 更换操作系统:
- 控制台 → 实例 → 更多 → 更换操作系统
- 选择 Ubuntu Server LTS(如 22.04/24.04)
- 注意:更换系统会清空根磁盘数据,请先备份重要数据到 OSS 或快照
- 新实例自动支持 SSH + Ubuntu 环境,按上述步骤配置即可
💡 建议:首次部署时直接选择 Ubuntu 镜像,避免后续迁移麻烦。
需要我帮你:
- 生成一份 Ubuntu 安全加固的 SSH 配置模板(禁用 root、改用密钥认证等)?
- 编写一键初始化脚本(含安全组 API 调用示例)?
- 指导如何制作自定义 Ubuntu 镜像用于批量部署?
欢迎告诉我你的具体场景 😊
CLOUD技术笔记