
# 添加SSH密钥（废弃）
#### 功能介绍
在CodeArts Repo中配置SSH密钥，实现本地计算机与您账号下的Repo之间建立安全连接。
![](https://support.huaweicloud.com/api-codeartsrepo/public_sys-resources/note_3.0-zh-cn.png)
当前API已经废弃，请使用[添加ssh公钥](https://support.huaweicloud.com/api-codeartsrepo/AddSshKey.html)。
#### 调试
您可以在API Explorer中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/users/sshkey
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 必传。 **取值范围：** 字符串长度不少于1，不超过10万。 **默认取值：** 不涉及。 |
   
表2请求Body参数 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释：** 用户在本地生成的SSH密钥。 **约束限制：** 不涉及。 **取值范围：** 只能由数字和字母组成，且长度为\[0-2048\]个字符。 **默认取值：** 不涉及。 |
| title | 是    | String | **参数解释：** 添加SSH密钥时输入的标题，由用户自定义输入。 **取值范围：** 长度为\[0,255\]个字符。                                                                                                                                                                 |
   
#### 响应参数
表3响应Body参数 
| 参数     | 参数类型                                                                              | 描述                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| error  | [Error] object         | **参数解释：** 接口调用时，响应错误。 **取值范围：** 不涉及。                                                                                                                                                                                                |
| result | [PublicKey] object | **参数解释：** 接口调用的响应结果。 **取值范围：** 不涉及。                                                                                                                                                                                               |
| status | String                                                                            | **参数解释：** 调用此接口的响应状态。 **取值范围：** - success，表示接口调用成功。  - failed，表示接口调用失败。   |
   
 表4Error 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| code    | String | **参数解释：** 调用此接口失败时返回的错误码。 **取值范围：** - 40，表示密钥添加失败，您需要检查密钥是否有效。  - CH.080002，表示密钥添加失败，该密钥已存在，您需要重新生成密钥。   |
| message | String | **参数解释：** 调用此接口失败时返回的提示信息。 **取值范围：** - "密钥添加失败，请检查密钥是否有效"。  - "此密钥已存在，请重新生成密钥"。                        |
   
 表5PublicKey 
| 参数    | 参数类型   | 描述                                                                                                                                                       |
|:---|:---|:---|
| id    | String | **参数解释：** 密钥ID。 **取值范围：** 只能由数字组成，且长度为\[1-40\]个字符。              |
| key   | String | **参数解释：** 密钥，由用户上传。 **取值范围：** 只能数字组成，且长度为\[0-2048\]个字符。            |
| title | String | **参数解释：** 添加SSH密钥时输入的标题，由用户自定义输入。 **取值范围：** 长度为\[0,255\]个字符。 |
   
#### 请求示例
```
POST https://{endpoint}/v1/users/sshkey
{
  "title" : "repo@xxx.com",
  "key" : "ssh-rsa AAAAB3NzaC1yc2EA*********************************************************U7xcma6HU8nj1E0i46VObWyOONl3gh142BV repo@xxx.com"
}
```
#### 响应示例
**状态码： 200**
OK
```
{
  "result" : {
    "id" : "1034531",
    "title" : "repo@xxx.com",
    "key" : "ssh-rsa AAAAB3NzaC1yc2EA*********************************************************U7xcma6HU8nj1E0i46VObWyOONl3gh142BV repo@xxx.com"
  },
  "status" : "success"
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
表6错误码 
| 状态码 | 错误码       | 错误信息               | 描述                                                 | 处理措施                                                                                                                                                                                                                  |
|:---|:---|:---|:---|:---|
| 409 | CH.080002 | "此密钥已存在，请重新生成密钥"   | 表示CodeArts Repo已配置该密钥，您需要在本地重新生成密钥。                | 在本地重新生成并在Repo配置密钥。                                                                                                                                                                                                    |
| 200 | CH.010202 | "密钥添加失败，请检查密钥是否有效" | 表示CodeArts Repo无法添加该密钥，原因可能是您的密钥复制有误或者您输入的title有误。 | - 如果您的密钥没有复制完整，可重新在本地复制密钥。  - 如果是title不符合规范，重新自定义输入title。   |
| 400 | CH.080002 | title不能为空          | title必传                                            | title必传。                                                                                                                                                                                                              |
| 400 | CH.080002 | key is empty       | ssh key 必传                                         | ssh key必传                                                                                                                                                                                                             |
   
