什么是 SSH 密钥对
- SSH 密钥对是通过一种加密算法生成的一对密钥:一个对外界公开,称为“公钥”;另一个自己保留,称为“私钥”。
- 如果已经将公钥配置在 Linux 实例中,那么,在本地或者另外一个实例中,可以使用私钥通过 SSH 命令或相关工具登录实例,而不需要输入密码。
前置条件
- ECS 实例为 IO 优化实例
- ECS 实例的操作系统类型为 Linux
- ECS 实例有公网 IP
- 本文适用于本地环境为 Mac/Linux 环境
步骤:
- 步骤 1. 创建 密钥对
我们可以在 【ECS控制台】 -> 【网络和安全组-密钥对】 -> 【创建密钥对】,点击 【确定】创建后系统会生成私钥,我们保存该私钥即可 如下图:
- 步骤 2. 创建 ECS
选择 IO 优化实例、操作系统为 Linux,页面下方的 安全设置 模块会出现选择 密钥对 的选项,如下图:
- 步骤 3. 通过 SSH 密钥对 登录云服务器
ssh -i ~/Desktop/testKeyPair.pem root@xx.xx.xx.xx
说明:
- -i 后面的参数为 步骤1 所下载的私钥,我将其放在了桌面上。
- 阿里云创建的ECS,Linux系统默认登录名是root
- xx.xx.xx.xx为我们刚才创建的ECS的公网IP地址
运行该命令后可能会报 Permissions 0644 for 'testKeyPair.pem' are too open.
错误,提示我们文件权限过大,我们需要将私钥文件权限改成600,即运行chmod 600 ~/Desktop/testKeyPair.pem
命令。之后重连即可正常登陆了。如下图:
可能遇到的问题:
- ECS 的安全组 22 端口未开启,我们可以在
ECS控制台 -> 实例 -> 管理 -> 本实例安全组 -> 配置规则 界面 查看/配置 安全组规则,配置下 22 端口即可。
ECS 控制台 密钥对 其他功能
- 导入已有公钥
- 对已有实例进行 绑定/解绑 密钥对