human: 如何处理七牛云的云主机SSH 密钥对

gpt: [云主机](https://developer.qiniu.com/qvm) > 使用指南 > 云主机 >SSH 密钥对

#  SSH 密钥对

最近更新时间: 2019-11-07 10:08:53

# **SSH 密钥对概述**

SSH 密钥对，常简称为密钥对，是 QVM 为你提供的新的远程登录云主机实例的认证方式，是一种区别于传统的用户名加密码模式的认证方式。

SSH 密钥对通过加密算法生成一对密钥，一个对外界公开，称为公钥，另一个你自己保留，称为私钥。

如果你将公钥配置在 Linux 实例中，那么，在本地或者另外一个云主机实例中，你可以使用私钥通过 SSH 命令或相关工具登录实例，而不需要输入密码。如果使用
SSH 密钥对登录 Linux 实例，默认禁用密码登录，以提高安全性。

SSH 密钥对的生成方式包括：

  * 由管理平台生成，默认采用 RSA 2048 位的加密方式。

  * 使用其他方式生成后再导入，导入的密钥对必须支持下列任一种加密方式：

    * rsa

    * dsa

    * ssh-rsa

    * ssh-dss

    * ecdsa

    * [ssh-rsa-cert-v00@openssh.com](mailto:ssh-rsa-cert-v00@openssh.com)

    * [ssh-dss-cert-v00@openssh.com](mailto:ssh-dss-cert-v00@openssh.com)

    * [ssh-rsa-cert-v01@openssh.com](mailto:ssh-rsa-cert-v01@openssh.com)

    * [ssh-dss-cert-v01@openssh.com](mailto:ssh-dss-cert-v01@openssh.com)

    * [ecdsa-sha2-nistp256-cert-v01@openssh.com](mailto:ecdsa-sha2-nistp256-cert-v01@openssh.com)

    * [ecdsa-sha2-nistp384-cert-v01@openssh.com](mailto:ecdsa-sha2-nistp384-cert-v01@openssh.com)

    * [ecdsa-sha2-nistp521-cert-v01@openssh.com](mailto:ecdsa-sha2-nistp521-cert-v01@openssh.com)

如果你的密钥对由管理平台生成，那么，在首次生成密钥对时，你必须下载并妥善保存私钥。当该密钥对绑定某个云主机实例时，如果没有私钥，你将再也不能登录该 QVM
实例。

  

### **SSH 密钥对功能优势**

相较于传统的用户名和密码认证方式，使用 SSH 密钥对有以下优势：

  * SSH 密钥对登录认证更为安全可靠

    * 密钥对安全强度远高于常规用户口令，可以杜绝暴力破解威胁。

    * 不可能通过公钥推导出私钥。

  * 便捷性

    * 只需在控制台和本地客户端做简单配置即可远程登录实例，再次登录时无需再输入密码。

    * 便于远程登录大量 Linux 实例，方便管理。如果你需要批量维护多个 QVM 实例，推荐使用这种方式登录。

  

### **SSH 密钥对使用限制**

  * 仅支持 Linux 实例

  * 目前，只支持创建 2048 位的 RSA 密钥对

  * QVM 会保存密钥对的公钥部分

  * 密钥对创建成功后，你需要妥善保管私钥

  * 私钥使用未加密的 PEM（Privacy-enhanced Electronic Mail） 编码的 PKCS#8 格式

  * 一个云账号在一个地域最多可以拥有 500 个密钥对

  * 一个 Linux 实例只能绑定一个 SSH 密钥对。如果你的实例已绑定密钥对，绑定新的密钥对会替换原来的密钥对

  * 基于数据安全考虑，在实例状态为**运行中 (Running)** 绑定或者解绑密钥对时，你需要[重启实例](https://developer.qiniu.com/qvm/manual/4298/qvm-instance-management#4)使操作生效

  * 除了系列 I 的非 I/O 优化实例外，所有[实例规格族](https://developer.qiniu.com/qvm/manual/qvm-instance-family)均支持 SSH 密钥对登录

  

### **SSH 密钥对相关操作**

  * 如果你没有 SSH 密钥对，可以在管理控制台[创建 SSH 密钥对](https://developer.qiniu.com/qvm/manual/qvm-key#1)

  * 如果你使用其它工具生成了密钥对，可以在管理控制台[导入 SSH 密钥对](https://developer.qiniu.com/qvm/manual/qvm-key#2)

  * 如果你不再需要某个密钥对，可以在管理控制台[删除 SSH 密钥对](https://developer.qiniu.com/qvm/manual/qvm-key#4)

  * 如果你想使用或者禁用 SSH 密钥对访问已经创建好的 QVM 实例，可以在管理控制台[绑定或者解绑 SSH 密钥对](https://developer.qiniu.com/qvm/manual/qvm-key#3)

  * 你可以使用[ SSH 密钥对登录实例](https://developer.qiniu.com/qvm/manual/4232/qvm-key)

  

# **创建 SSH 密钥对**

**1.** 登录 [QVM 管理控制台](https://portal.qiniu.com/qvm/instance)

**2.** 选择左侧导航栏中的**密钥对**

**3.** 在密钥对页面，单击**新建/导入**

**4.** 在**新增 SSH 密钥对** 页面，选择**生成新密钥对** ，并填写密钥对名称

**5.** 单击**确定** 创建密钥对。**注意：** 请保管好私钥，如果丢失，你将无法访问该密钥对绑定的实例。

密钥对创建成功后，你可以在密钥对列表里看到新创建的密钥对信息，包括密钥对名称、指纹等信息。

  

# **导入 SSH 密钥对**

**1.** 登录 [QVM 管理控制台](https://portal.qiniu.com/qvm/instance)

**2.** 选择左侧导航栏中的**密钥对**

**3.** 在密钥对页面，单击**新建/导入**

**4.** 在**新增 SSH 密钥对** 页面，选择**导入已有公钥** ，填写密钥对名称，并在输入公钥里填写公钥内容

**5.** 单击**确定** ，导入 SSH 密钥对

密钥对创建成功后，你可以在密钥对列表里看到新创建的密钥对信息，包括密钥对名称、指纹等信息。

  

# **绑定/解绑 SSH 密钥对**

解绑密钥对后，需要[重置实例密码](https://developer.qiniu.com/qvm/manual/qvm-
instance#2)才能使用密码认证方式正常登录实例。

  

### **绑定 SSH 密钥对**

**1.** 登录 [QVM 管理控制台](https://portal.qiniu.com/qvm/instance)

**2.** 选择左侧导航栏中的**密钥对**

**3.** 找到需要操作的密钥对，点击**绑定**

**4.** 在绑定密钥对对话框里，在**实例列表** 栏中，选中需要绑定该密钥对的实例名称，单击 **> >** 移入**已选择** 栏中。

**5.** 单击**确定** 绑定密钥对。

  

### **解绑 SSH 密钥对**

**1.** 登录 [QVM 管理控制台](https://portal.qiniu.com/qvm/instance)

**2.** 选择左侧导航栏中的**密钥对**

**3.** 找到需要操作的密钥对，点击**解绑**

**4.** 在解绑密钥对对话框里，在**实例列表** 栏中，选中需要解绑的实例名称，单击 **> >** 移入**已选择** 栏中。

**5.** 单击**确定** 解绑密钥对。

  

# **删除 SSH 密钥对**

**1.** 登录 [QVM 管理控制台](https://portal.qiniu.com/qvm/instance)

**2.** 选择左侧导航栏中的**密钥对**

**3.** 选中一个或多个需要删除的密钥对

**4.** 单击**删除**

以上内容是否对您有帮助？