# 通过SSH密钥方式登录Linux ECS
#### 操作场景
密钥对，即SSH密钥对，是为用户提供远程登录云服务器的安全凭证，是一种区别于传统的用户名和密码登录的认证方式。
密钥对包含一个公钥和一个私钥，公钥自动保存在KPS（Key Pair Service）中，私钥由用户保存在本地。若用户将公钥绑定到Linux云服务器中，则可以使用私钥安全地登录Linux云服务器，而不需要输入密码。由于密钥对可以让用户无需输入密码登录到Linux云服务器，因此，可以防止由于密码被拦截、破解造成的账户密码泄露，从而提高Linux云服务器的安全性。
更多内容，请参见[密钥对使用场景介绍](https://support.huaweicloud.com/usermanual-ecs/ecs_13_0201.html)。
本节操作介绍在Windows和Linux环境中使用SSH密钥对方式远程登录Linux云服务器的操作步骤。
#### 前提条件
- 弹性云服务器的"状态"需要为"运行中"。
- 已获取创建该弹性云服务器时使用的密钥对私钥文件（.pem），创建密钥对请参见[（推荐）通过管理控制台创建密钥对](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0014250631.html)。
- 弹性云服务器已经绑定弹性公网IP，绑定方式请参见[查看ECS详细信息（列表视图）](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0122.html)。
 
- 已配置安全组入方向的访问规则，配置方式请参见[配置安全组规则](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0030878383.html)。
- 使用的登录工具（如PuTTY）与待登录的弹性云服务器之间网络连通。例如，默认的22端口没有被防火墙屏蔽。
#### 本地使用Windows操作系统
如果您本地使用Windows操作系统登录Linux弹性云服务器，可以按照下面方式登录弹性云服务器。
**方式一：使用PuTTY登录**
以PuTTY为例介绍如何登录弹性云服务器。使用PuTTY登录弹性云服务器前，需要先将私钥文件转化为.ppk格式。
1. 判断私钥文件是否为.ppk格式。
   - 是，执行[7]。
   
   - 否，执行[2]。
    
2. 在以下路径中下载PuTTY和PuTTYgen。
   [https://www.chiark.greenend.org.uk/\~sgtatham/putty/latest.html](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   PuTTYgen是密钥生成器，用于创建密钥对，生成一对公钥和私钥供PuTTY使用。
   
3. 运行PuTTYgen。
4. 在"Actions"区域，单击"Load"，并导入创建弹性云服务器时保存的私钥文件。 导入时注意确保导入的格式要求为"All files (\*.\*)"。
   图1导入私钥文件   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000001744520501.png "点击放大") 
5. 在"Actions"区域，单击"Save private key"。
6. 保存转化后的私钥到本地。例如：kp-123.ppk
7. 双击"PUTTY.EXE"，打开"PuTTY Configuration"。
8. 单击"Session"，在"Host Name (or IP address)"下的输入框中输入弹性云服务器的弹性公网IP。
   图2配置弹性公网IP   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000001082643605.jpg "点击放大") 
9. 选择"Connection \> data"，在Auto-login username处输入镜像的用户名。
   图3输入用户名   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000001744562821.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   使用"SSH密钥方式"登录弹性云服务器时：
   - 如果是"CoreOS"的公共镜像，镜像的用户名为"core"。
   
   - 如果是"非CoreOS"的公共镜像，镜像的用户名为"root"。
     
10. 选择"Connection \> SSH \> Auth \> Credentials"，在配置项"Private key file for authentication"中，单击"Browse"，选择[6]转化的密钥。
    图4导入密钥   
    ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000001696804084.png "点击放大") 
11. 单击"Open"。 登录弹性云服务器。
    
 
**方式二：使用Xshell登录**
1. 打开Xshell工具。
2. 通过弹性公网IP，执行以下命令，SSH远程连接弹性云服务器。 **ssh** ***用户名*** **@*弹性公网IP***
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   使用"SSH密钥方式"登录弹性云服务器时：
   - 如果是"CoreOS"的公共镜像，镜像的用户名为"core"。
   
   - 如果是"非CoreOS"的公共镜像，镜像的用户名为"root"。
     
3. （可选）如果系统弹窗提示"SSH安全警告"，此时需单击"接受并保存"。
   图5SSH安全警告   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0178475901.png) 
4. 选择"Public Key"，并单击"用户密钥(K)"栏的"浏览"。
5. 在"用户密钥"窗口中，单击"导入"。
6. 选择本地保存的密钥文件，并单击"打开"。
7. 单击"确定"，登录弹性云服务器。
 
#### 本地使用Linux操作系统
如果您本地使用Linux操作系统登录Linux弹性云服务器，可以按照下面方式登录。下面步骤以私钥文件是kp-123.pem为例进行介绍。
1. 在您的linux计算机的命令行中执行如下命令，变更权限。 **chmod 400 /*path*/kp-123** **.pem**
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   上述命令的path为密钥文件的存放路径。
   
2. 执行如下命令，登录弹性云服务器。 **ssh -i /*path*/kp-123.pem** ***默认用户名*** **@** ***弹性公网IP***
   假设Linux弹性云服务器的默认用户名是root，弹性公网IP为123.123.123.123，则命令如下：
   **ssh -i /*path*/kp-123.pem root@** **123.123.123.123**
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   - path为密钥文件的存放路径。
   
   - 弹性公网IP地址为弹性云服务器绑定的弹性公网IP地址。
     
 
#### 后续处理
- 以SSH密钥方式登录弹性云服务器后，可以通过设置密码（执行**passwd**命令），后续使用VNC方式登录Linux弹性云服务器。
 
#### 相关链接
- [云服务器登录前的准备工作有哪些？](https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0163540201.html)
- [怎样查询弹性云服务器使用的密钥对是哪个？](https://support.huaweicloud.com/ecs_faq/ecs_faq_1214.html)
- [为什么使用密钥文件无法正常登录Linux弹性云服务器？](https://support.huaweicloud.com/ecs_faq/ecs_faq_1217.html)
- [无法登录到Linux云服务器怎么办？](https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0105127983.html)
 
