# 通过SSH工具远程使用Notebook
本文介绍在Windows环境中使用CMD、MobaXterm和本地IDE通过SSH远程登录Notebook实例的操作步骤。
#### 约束限制
使用SSH连接Notebook实例的约束限制如下：
- 本地用户密钥和权限必须匹配。
- 本地用户密钥需要存放在指定目录下。
  - Windows：C:\\Users\\{{user}}
  
  - macOS/Linux：\~
    ![](https://support.huaweicloud.com/devtool-modelarts/public_sys-resources/note_3.0-zh-cn.png)
    在macOS和Linux系统中，\~ 表示当前用户的主目录。
    
   
- 远端镜像中的ma-user或root用户不能被锁定。
- 远端的\~/.ssh目录权限建议设置为750或755。
- 本地或远端的OpenSSH版本不能低于8.0。
- 建议同时建立的连接数不超过10个。
如果遇到SSH连接问题，请参考[本地通过SSH连接Notebook实例的故障排查](https://support.huaweicloud.com/trouble-modelarts/modelarts_05_4195.html)进行解决。
 #### 前提条件
- 已在[DEW管理控制台](https://console.huaweicloud.com/dew/?locale=zh-cn#/dew/)创建账号密钥对或私有密钥对，并将密钥文件并存放在以下目录中。具体操作，请参见[创建密钥对](https://support.huaweicloud.com/usermanual-dew/dew_01_0034.html)。
  - Windows：C:\\Users\\{{user}}
  
  - macOS/Linux：\~
  
  
  如果创建账号密钥对或私有密钥对时，勾选"我同意将密钥对私钥托管"，则密钥可重复下载（在"账号密钥对"或"私有密钥对"页面的操作列单击"导出私钥"）；如果未勾选"我同意将密钥对私钥托管"，则仅创建时会自动下载，后续无法下载，请妥善保存。
  图1我同意将密钥对私钥托管   
  ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002643245480.png "点击放大")
  
  
- Notebook实例已开启SSH远程开发（密钥对选择已创建的账号密钥对或私有密钥对）。该实例状态必须处于"运行中"。
  - 关于如何新建Notebook实例，请参见[创建Notebook实例](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_3495.html)。
  
  - 关于如何在已有Notebook实例开启SSH远程开发，请参见[开启SSH远程开发](https://support.huaweicloud.com/devtool-modelarts/modelarts_30_0051.html#ZH-CN_TOPIC_0000001402317016__section671554385910)。
  
  
  图2创建Notebook-SSH远程开发   
  ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002660193485.png "点击放大") 
- 在Notebook实例详情页面的"基本信息"页签，获取SSH远程开发的访问地址。具体操作，请参见[查看Notebook实例详情](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_3495.html#ZH-CN_TOPIC_0000002354438389__section1261438141113)。
  图3Notebook实例详情页面   
  ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002641118628.png "点击放大") 
 
#### SSH远程开发地址说明
SSH远程开发地址的格式如下：
```
ssh -o StrictHostKeyChecking=no -i {密钥文件名} {启动用户}@{域名} -p {端口}
```
假设SSH远程开发地址如下，密钥文件名为KeyPair-1234-test.pem，ma-user为启动用户，authoring-ssh-modelarts-\*\*\*\*\*.huawei.com为域名，31092为端口。
```
ssh -o StrictHostKeyChecking=no -i KeyPair-1234-test.pem ma-user@authoring-ssh-modelarts-*****.huawei.com -p 31092
```
#### 方式一：使用CMD连接Notebook实例
下文以Windows系统为例进行说明。
1. 打开CMD。
   - 方式一：使用开始菜单
     1. 在电脑左下角，单击"开始"，或者按键盘上的Windows键。
     
     2. 在开始菜单中，输入CMD，单击"命令提示符"。
        图4打开CMD   
        ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002583597214.png "点击放大") 
      
   
   - 方式二：使用运行对话框
     1. 在键盘按"Windows+R"键，打开"运行"对话框。
     
     2. 在"运行"对话框中输入CMD，按Enter键或单击"确定"。
      
    
2. 在CMD中，**进入密钥所在目录** ，将从[前提条件]获取的SSH远程开发地址直接粘贴至命令窗口并执行，以连接Notebook实例。
   如下图所示，出现交互界面，表示连接成功。
   图5使用CMD连接Notebook实例   
   ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002590211298.png "点击放大") 
 
#### 方式二：使用MobaXterm连接Notebook实例
1. 下载并安装[MobaXterm](https://mobaxterm.mobatek.net/)。
2. 打开MobaXterm，在左上角单击"Session"，在"Session settings"对话框的SSH页签，配置Remote host、Username、Port和Use private key，单击"OK"。
   图6配置Session   
   ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002590211462.png "点击放大")
   SSH远程开发的访问地址、密钥文件的路径从[前提条件]获取。例如，SSH远程开发的访问地址如下，配置说明如下表所示。
   ```
   ssh -o StrictHostKeyChecking=no -i KeyPair-1234-test.pem ma-user@authoring-ssh-modelarts-*****.huawei.com -p 31092
   ```
   表1配置说明 
   | 配置项                                                                                      || 说明                                                                                                     | 示例值                                         |
   |:---|---|:---|:---|
   | Basic SSH settings    | Remote host      | 远程主机的地址，从SSH远程开发的访问地址中获取。                                                                             | authoring-ssh-modelarts-\*\*\*\*\*.huawei.com |
   | Basic SSH settings    | Username         | 用于连接远程主机的用户名，从SSH远程开发的访问地址中获取。                                                                          | ma-user                                      |
   | Basic SSH settings    | Port             | 用于连接远程主机的端口号，从SSH远程开发的访问地址中获取。                                                                          | 31092                                        |
   | Advanced SSH settings | Use private key | 密钥文件的完整路径。从[前提条件]获取。 | C:\\Users\\\*\*\*\\KeyPair-1234-test.pem       |
      
   如下图所示，出现交互界面，表示连接成功。
   图7使用MobaXterm连接Notebook实例   
   ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002614127733.png "点击放大") 
 
#### 方式三：使用本地IDE连接Notebook实例
推荐使用VS Code作为本地IDE来连接Notebook实例。
- VS Code推荐版本及约束限制，请参见[VS Code连接Notebook方式介绍](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0019.html)。
- 如何使用VS Code连接Notebook实例，请参见[在VS Code中一键连接Notebook](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0206.html)。
 
