1179 字
6 分钟
阿里云ECS绑定密钥对登陆

阿里云ECS绑定密钥对登陆#

使用 SSH 密钥对(Key Pair)是云服务器身份认证的最佳实践。通过“私钥签名+公钥验签”的非对称加密机制,可以彻底杜绝暴力破解密码的风险。

本文将详细介绍从密钥创建到彻底禁用密码登录的完整闭环流程。

📋 核心步骤速览#

  1. 创建密钥:在阿里云控制台自动生成并下载 .pem 私钥。
  2. 绑定实例:将密钥对绑定至目标 ECS 服务器。
  3. 重启生效:重启 ECS 实例以应用密钥配置。
  4. 验证登录:使用客户端通过密钥成功登录。
  5. 安全加固:修改 SSH 配置,彻底禁用密码登录。

准备工作#

  • 拥有阿里云 ECS 实例的管理权限。
  • 确保 ECS 实例已分配 公网 IP

第一步:创建 SSH 密钥对#

阿里云提供了自动生成密钥对的功能,无需在本地手动生成。

  1. 登录阿里云 ECS 控制台。
  2. 在左侧导航栏中,选择 网络与安全 > 密钥对
  3. 点击右上角的 “创建密钥对”
  4. 填写配置信息:
  • 密钥对名称: 建议使用具有业务标识的名称(例如:prod-web-key)。
  • 创建类型: 选择 自动创建密钥对
  • 资源组/标签: 根据项目规范填写(可选)。
  1. 点击 确定

⚠️ 关键提示: 点击确定后,浏览器会自动下载一个 .pem 后缀的私钥文件。请务必妥善备份!

  • 这是登录服务器的唯一物理凭证。

  • 阿里云不存储私钥,一旦丢失无法找回(只能重新创建并绑定新密钥)。


第二步:绑定密钥对到 ECS 实例#

将创建好的“锁”安装到服务器上。

  1. 回到 实例与镜像 > 实例 列表。
  2. 找到目标服务器,在操作栏点击 更多(…) > 云盘与镜像(或网络与安全) > 绑定密钥对
  3. 在弹出的对话框中,选择刚才创建的密钥对名称。
  4. 点击 确定

第三步:重启实例(必选)#

绑定密钥对仅修改了元数据配置,必须重启系统才能让 SSH 服务(sshd)加载新的认证方式。

  1. 在实例列表中,选中该实例。
  2. 点击顶部菜单的 重启
  3. 等待实例状态变更为绿色的 “运行中”

第四步:验证密钥登录#

在执行下一步(禁用密码)之前,必须先验证密钥是否能成功登录,否则可能导致无法连接服务器。

方式一:命令行终端 (Mac / Linux / PowerShell)#

最通用的原生方式。

  1. 修改权限(Mac/Linux 必需): 私钥文件权限过大(如 644/777)会被 SSH 客户端拒绝,需设为仅所有者可读。
Terminal window
chmod 400 /path/to/your-key.pem
  1. 执行登录:
Terminal window
# 语法: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 密码,没有私钥文件也无法登录。

  1. 登录服务器,编辑 SSH 守护进程配置文件:
Terminal window
sudo vi /etc/ssh/sshd_config
  1. 在文件中找到以下两个参数,将其设置为 no(如果未找到,可直接在文件末尾添加):
  • 操作提示:按 i 键进入编辑模式。
PasswordAuthentication no
ChallengeResponseAuthentication no
  1. 保存并退出:
  • 操作提示:按 Esc 键,输入 :wq 并回车。
  1. 重启 SSH 服务使配置生效:
Terminal window
sudo systemctl restart sshd

验证加固效果#

新建一个终端窗口,尝试不指定密钥文件(或强制使用密码模式)连接服务器。

  • 预期结果: 服务器直接拒绝连接(Permission denied),且不再弹出密码输入框。

🛡️ 安全管理建议#

  1. 私钥隔离原则: 严禁通过 IM 工具(微信/钉钉)传输 .pem 私钥文件,严禁上传至代码仓库。
  2. 多用户管理: 团队协作时,不要共享同一个私钥。应让成员生成各自的公钥,追加到服务器的 ~/.ssh/authorized_keys 文件中。
  3. 网络访问控制: 建议配合阿里云安全组,仅对特定 IP 段开放 22 端口。
阿里云ECS绑定密钥对登陆
https://twenhub.com/posts/a-li-yun-ecsbang-ding-mi-yao-dui-deng-lu/
作者
Twenhub
发布于
2026-01-28
许可协议
CC BY-NC-SA 4.0