SSH密钥对是一种安全便捷的登录认证方式。在Windows环境和支持SSH命令的环境(例如Linux环境、Windows下的MobaXterm)中,您均可以使用SSH密钥对连接Linux实例。

前提条件

  • 已创建密钥对并下载.pem私钥文件,具体操作请参见创建SSH密钥对
  • 实例处于运行中状态。
  • 已为实例绑定密钥对。
  • 已为实例分配固定公网IP或EIP。
  • 已为实例所在的安全组添加安全组规则,并放行对相应端口(例如SSH协议默认的22端口)的访问,具体操作请参见添加安全组规则
    网络类型 规则方向 授权策略 端口范围 优先级 授权对象
    专有网络VPC 入方向 允许 SSH(22) 1 0.0.0.0/0
    经典网络 公网入方向

在Windows环境中使用密钥对

下面以PuTTYgen为例介绍如何将私钥文件格式从.pem转换为.ppk,并以PuTTY为例介绍如何使用密钥对连接Linux实例。

  1. 下载并安装PuTTYgen和PuTTY。
    下载链接如下:
  2. .pem私钥文件转换为.ppk私钥文件。
    1. 启动PuTTYgen。
      本示例中的PuTTYgen版本为0.71。
    2. 选择Type of key to generateRSA,然后单击Load
    3. 选择All Files
    4. 选择待转换的.pem私钥文件。
    5. 在弹出的对话框中,单击确定
    6. 单击Save private key
    7. 在弹出的对话框中,单击
    8. 指定.ppk私钥文件的名称,然后单击保存
  3. 启动PuTTY。
  4. 配置用于身份验证的私钥文件。
    1. 选择Connection > SSH > Auth
    2. 单击Browse…
    3. 选择转换好的.ppk私钥文件。
  5. 配置连接Linux实例所需的信息。
    1. 单击Session
    2. Host Name (or IP address)中输入登录账号和实例公网IP地址。
      格式为root@IP 地址,例如root@10.10.xx.xxx。
    3. Port中输入端口号22
    4. 选择Connection typeSSH
  6. 单击Open
    当出现以下提示时,说明您已经成功地使用SSH密钥对登录了实例。windows_putty_5
以下示例演示如何转换私钥文件格式和使用SSH密钥连接Linux实例。使用ssh密钥登录

在支持SSH命令的环境中使用密钥对(通过命令配置)

下面介绍如何在支持SSH命令的环境(例如Linux、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。

  1. 找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem
    此处路径和文件名称仅为示例,请根据实际情况修改。
  2. 运行以下命令修改私钥文件的属性。
    chmod 400 [.pem私钥文件在本地机上的存储路径]
    示例如下:
    chmod 400 ~/.ssh/ecs.pem
  3. 运行以下命令连接至实例。
    ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]
    示例如下:
    ssh -i ~/.ssh/ecs.pem root@10.10.xx.xxx

在支持SSH命令的环境中使用密钥对(通过config文件配置)

下面介绍如何在Linux和其他支持SSH命令的环境(例如Windows下的MobaXterm)中通过config配置所需信息,并通过SSH命令连接Linux实例。

  1. 进入用户主目录下的.ssh目录,按照如下方式修改config文件。
    ~/.ssh/ecs.pem为私钥文件在本地机上的存储路径。
    Host ecs    // 输入ECS实例的名称
    HostName 192.*.*.*   // 输入ECS实例的公网IP地址
    Port 22   // 输入端口号,默认为22
    User root   // 输入登录账号
    IdentityFile ~/.ssh/ecs.pem // 输入.pem私钥文件在本机的地址
  2. 保存config文件。
  3. 重启SSH。
  4. 运行命令连接至实例。
    ssh [ECS实例的名称]
    示例如下:
    ssh ecs