1179 字
6 分钟
阿里云ECS绑定密钥对登陆
阿里云ECS绑定密钥对登陆
使用 SSH 密钥对(Key Pair)是云服务器身份认证的最佳实践。通过“私钥签名+公钥验签”的非对称加密机制,可以彻底杜绝暴力破解密码的风险。
本文将详细介绍从密钥创建到彻底禁用密码登录的完整闭环流程。
📋 核心步骤速览
- 创建密钥:在阿里云控制台自动生成并下载
.pem私钥。 - 绑定实例:将密钥对绑定至目标 ECS 服务器。
- 重启生效:重启 ECS 实例以应用密钥配置。
- 验证登录:使用客户端通过密钥成功登录。
- 安全加固:修改 SSH 配置,彻底禁用密码登录。
准备工作
- 拥有阿里云 ECS 实例的管理权限。
- 确保 ECS 实例已分配 公网 IP。
第一步:创建 SSH 密钥对
阿里云提供了自动生成密钥对的功能,无需在本地手动生成。
- 登录阿里云 ECS 控制台。
- 在左侧导航栏中,选择 网络与安全 > 密钥对。
- 点击右上角的 “创建密钥对”。
- 填写配置信息:
- 密钥对名称: 建议使用具有业务标识的名称(例如:
prod-web-key)。 - 创建类型: 选择 自动创建密钥对。
- 资源组/标签: 根据项目规范填写(可选)。
- 点击 确定。
⚠️ 关键提示: 点击确定后,浏览器会自动下载一个
.pem后缀的私钥文件。请务必妥善备份!
这是登录服务器的唯一物理凭证。
阿里云不存储私钥,一旦丢失无法找回(只能重新创建并绑定新密钥)。
第二步:绑定密钥对到 ECS 实例
将创建好的“锁”安装到服务器上。
- 回到 实例与镜像 > 实例 列表。
- 找到目标服务器,在操作栏点击 更多(…) > 云盘与镜像(或网络与安全) > 绑定密钥对。
- 在弹出的对话框中,选择刚才创建的密钥对名称。
- 点击 确定。
第三步:重启实例(必选)
绑定密钥对仅修改了元数据配置,必须重启系统才能让 SSH 服务(sshd)加载新的认证方式。
- 在实例列表中,选中该实例。
- 点击顶部菜单的 重启。
- 等待实例状态变更为绿色的 “运行中”。
第四步:验证密钥登录
在执行下一步(禁用密码)之前,必须先验证密钥是否能成功登录,否则可能导致无法连接服务器。
方式一:命令行终端 (Mac / Linux / PowerShell)
最通用的原生方式。
- 修改权限(Mac/Linux 必需): 私钥文件权限过大(如 644/777)会被 SSH 客户端拒绝,需设为仅所有者可读。
chmod 400 /path/to/your-key.pem- 执行登录:
# 语法:ssh -i [私钥路径] [用户名]@[公网IP]ssh -i ~/Downloads/prod-web-key.pem root@47.xx.xx.xx方式二:Xshell 客户端
- Xshell 7+: 新建会话 -> 用户身份验证 -> 方法选择
Public Key-> 浏览并导入.pem文件 -> 连接。 - Xshell 6: 由于旧版客户端算法过时,若连接新版 Ubuntu/CentOS 可能报错。建议升级至 Xshell 7,或在服务器端启用旧版 RSA 算法支持。
第五步:禁用密码登录(核心安全步骤)
⚠️ 警告:执行此步骤前,请再次确认您已通过密钥成功登录!
为了实现真正的安全加固,需要修改 SSH 配置文件,禁止通过密码进行身份验证。这样即使黑客获取了 root 密码,没有私钥文件也无法登录。
- 登录服务器,编辑 SSH 守护进程配置文件:
sudo vi /etc/ssh/sshd_config- 在文件中找到以下两个参数,将其设置为
no(如果未找到,可直接在文件末尾添加):
- 操作提示:按
i键进入编辑模式。
PasswordAuthentication noChallengeResponseAuthentication no- 保存并退出:
- 操作提示:按
Esc键,输入:wq并回车。
- 重启 SSH 服务使配置生效:
sudo systemctl restart sshd验证加固效果
新建一个终端窗口,尝试不指定密钥文件(或强制使用密码模式)连接服务器。
- 预期结果: 服务器直接拒绝连接(
Permission denied),且不再弹出密码输入框。
🛡️ 安全管理建议
- 私钥隔离原则: 严禁通过 IM 工具(微信/钉钉)传输
.pem私钥文件,严禁上传至代码仓库。 - 多用户管理: 团队协作时,不要共享同一个私钥。应让成员生成各自的公钥,追加到服务器的
~/.ssh/authorized_keys文件中。 - 网络访问控制: 建议配合阿里云安全组,仅对特定 IP 段开放 22 端口。