在阿里云购买 ECS(云服务器)后,为他人配置登录账号需遵循安全最佳实践。以下是分步骤、安全可靠的操作指南(以 Linux 系统为例,Windows 类似但用户管理方式不同):
✅ 一、前提确认
- 已成功创建并启动 ECS 实例;
- 已通过 SSH 密钥对 或 密码 方式能以
root(或初始管理员用户,如ubuntu/centos)身份正常登录; - 建议使用 密钥登录(更安全),若用密码请确保已开启密码认证(默认部分镜像禁用)。
✅ 二、推荐方案:创建独立普通用户(非 root)—— 安全首选 ✅
步骤 1:SSH 登录到 ECS(以 root 或已有管理员用户登录)
ssh -i your-key.pem root@<ECS公网IP>
# 或(如 Ubuntu 镜像默认用户为 ubuntu)
ssh -i your-key.pem ubuntu@<ECS公网IP>
步骤 2:创建新用户(例如用户名 devuser)
sudo adduser devuser
# 按提示设置密码(建议强密码)、填写可选信息(可全部回车跳过)
💡
adduser会自动创建家目录/home/devuser、复制 skeleton 文件,并设置默认 shell(如/bin/bash)。
步骤 3:授予必要权限(按需选择)
-
✅ 仅允许 SSH 登录 + 常规操作(推荐):
# 将用户加入 sudo 组(CentOS/RHEL 用 wheel;Ubuntu/Debian 用 sudo) sudo usermod -aG sudo devuser # Ubuntu/Debian sudo usermod -aG wheel devuser # CentOS/RHEL/Alibaba Cloud Linux -
⚠️ 避免直接给 root 权限:不要用
sudo passwd root启用 root 密码登录,也不建议将用户加到root组。
步骤 4:配置 SSH 免密登录(强烈推荐,比密码更安全)
- 让对方生成自己的 SSH 密钥对(本地执行):
ssh-keygen -t ed25519 -C "devuser@example.com" # 生成 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥) - 将对方的 公钥内容(
id_ed25519.pub全文)复制到服务器:# 在服务器上执行(以 devuser 身份或 root) sudo mkdir -p /home/devuser/.ssh echo "ssh-ed25519 AAAA... 用户公钥内容 ..." | sudo tee /home/devuser/.ssh/authorized_keys sudo chown -R devuser:devuser /home/devuser/.ssh sudo chmod 700 /home/devuser/.ssh sudo chmod 600 /home/devuser/.ssh/authorized_keys
步骤 5:(可选)禁止密码登录(提升安全性)
编辑 SSH 配置:
sudo nano /etc/ssh/sshd_config
确保以下项为:
PasswordAuthentication no # 禁用密码登录
PubkeyAuthentication yes
PermitRootLogin no # 禁止 root SSH 登录(强烈建议!)
重启 SSH 服务:
sudo systemctl restart sshd # Ubuntu/Debian
# 或
sudo systemctl restart sshd # CentOS/Alibaba Cloud Linux
⚠️ 操作前请确保新用户已能用密钥成功登录,否则可能被锁死!
✅ 三、其他重要安全与管理建议
| 项目 | 推荐做法 |
|---|---|
| 🔐 防火墙 | 开启 ufw(Ubuntu)或 firewalld(CentOS),仅开放必要端口(如 22/tcp) |
| 📦 最小权限原则 | 不要给用户 root 权限,用 sudo 执行需要特权的操作 |
| 📝 审计与日志 | 查看登录日志:sudo journalctl -u sshd -f 或 /var/log/auth.log |
| 🧹 清理临时账号 | 若测试用账号,及时删除:sudo userdel -r username |
| 🌐 网络访问控制 | 在阿里云 安全组 中限制 SSH(22端口)只允许可信 IP 访问(如公司出口 IP) |
❌ 不推荐的做法(风险高)
- 直接共享 root 密码或 root 私钥 ❌
- 启用
PermitRootLogin yes❌ - 使用弱密码且未禁用密码登录 ❌
- 将所有用户加到
root组或赋予无限制 sudo 权限 ❌
✅ 四、Windows ECS 用户配置(简要)
- 远程桌面(RDP)默认使用 Administrator(不建议共享);
- 推荐:
① 新建标准用户(控制面板 → 用户账户 → 管理其他账户);
② 将其加入 Remote Desktop Users 组;
③ 在阿里云安全组放行3389/tcp,并严格限制源 IP;
④ 为该用户设置强密码,禁用 Administrator 的远程登录(可选)。
✅ 五、交付给他人时应提供
- 用户名(如
devuser) - 服务器公网 IP 或域名
- SSH 端口(默认
22,如修改过需注明) - 对方自己的私钥文件(
.pem或id_ed25519)—— 绝不传输私钥! - (如必须用密码)强密码(建议用密码管理器生成)
- 连接命令示例:
ssh -i ~/Downloads/devuser-key.pem devuser@123.56.78.90
如需进一步自动化(批量创建用户、分发密钥),可用 Ansible 脚本;如需 Web 管理界面(如宝塔),也需额外安装并加固。
需要我为你生成一个 一键配置用户的 Bash 脚本 或 Ansible Playbook 示例,欢迎随时提出 👍
是否还需了解:
- 如何限制用户只能访问指定目录(chroot SFTP)?
- 如何配置多因素认证(MFA)?
- 如何审计用户操作行为(如命令记录)?
欢迎继续提问!
CCLOUD博客