SSH密钥对是一种安全便捷的登录认证方式。在Windows环境和支持SSH命令的环境(例如Linux环境、Windows下的MobaXterm)中,您均可以使用SSH密钥对连接Linux实例。
前提条件
- 已创建密钥对并下载.pem私钥文件,具体操作请参见创建SSH密钥对。
- 已创建实例。
- 已为实例绑定密钥对。
- 已为实例分配固定公网IP或EIP。
- 使实例进入运行中状态。
- 为实例所在的安全组添加安全组规则,放行对相应端口的访问,具体操作请参见添加安全组规则。
网络类型 |
网卡类型 |
规则方向 |
授权策略 |
协议类型 |
端口范围 |
优先级 |
授权类型 |
授权对象 |
专有网络VPC |
无需配置 |
入方向 |
允许 |
SSH(22) |
22/22 |
1 |
IPv4地址段访问 |
0.0.0.0/0 |
经典网络 |
公网 |
在Windows环境中使用密钥对
下面以PuTTYgen为例介绍如何将私钥文件格式从.pem转换为.ppk,并以PuTTY为例介绍如何使用密钥对连接Linux实例。
- 下载并安装PuTTYgen和PuTTY。
- 将.pem私钥文件转换为.ppk私钥文件。
- 启动PuTTYgen。
本示例中的PuTTYgen版本为0.71。
- 选择Type of key to generate为RSA,然后单击Load。
- 选择All Files。
- 选择待转换的.pem私钥文件。
- 在弹出的对话框中,单击确定。
- 单击Save private key。
- 在弹出的对话框中,单击是。
- 指定.ppk私钥文件的名称,然后单击保存。
- 启动PuTTY。
- 配置用于身份验证的私钥文件。
- 选择。
- 单击Browse…。
- 选择转换好的.ppk私钥文件。
- 配置连接Linux实例所需的信息。
- 单击Session。
- 在Host Name (or IP address)中输入登录账号和实例公网IP地址。
格式为root@IP 地址。
- 在Port中输入端口号22。
- 选择Connection type为SSH。
- 单击Open。
当出现以下提示时,说明您已经成功地使用SSH密钥对登录了实例。
在支持SSH命令的环境中使用密钥对(通过命令配置)
下面介绍如何在支持SSH命令的环境(例如Linux、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。
- 找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem。
此处路径和文件名称仅为示例,请根据实际情况修改。
- 运行以下命令修改私钥文件的属性。
chmod 400 [.pem私钥文件在本地机上的存储路径]
示例如下:
chmod 400 ~/.ssh/ecs.pem
- 运行以下命令连接至实例。
ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]
在支持SSH命令的环境中使用密钥对(通过config文件配置)
下面介绍如何在Linux和其他支持SSH命令的环境(例如Windows下的MobaXterm)中通过config配置所需信息,并通过SSH命令连接Linux实例。
- 进入根目录下的ssh目录,按照如下方式修改config文件。
~/.ssh/ecs.pem为私钥文件在本地机上的存储路径。
Host ecs // 输入ECS实例的名称
HostName 192.*.*.* // 输入ECS实例的公网IP地址
Port 22 // 输入端口号,默认为22
User root // 输入登录账号
IdentityFile ~/.ssh/ecs.pem // 输入.pem私钥文件在本机的地址
- 保存config文件。
- 重启SSH。
- 运行命令连接至实例。
评论