下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

SSH连接管理

概述

SSH连接是MindStudio与远程服务器建立远程登录会话的功能。SSH连接安全性高并且可以进行数据传输,便于MindStudio某些计算量较大的功能可以通过SSH连接来共享远端服务器的计算资源。

使用约束

为了安全起见,建议对SSH连接到的服务器进行以下加固操作:

  • Linux系统用户的口令加密算法,推荐使用SHA256或者SHA512。
  • SSH服务端配置文件中,对以下配置项进行加固:
    • MACs:指定允许在SSH-2中使用哪些消息摘要算法来进行数据校验,多个算法之间使用逗号分隔。目前支持算法:hmac-sha2-256、hmac-sha2-512、hmac-sha2-256-etm@openssh.com以及hmac-sha2-512-etm@openssh.com。
    • Ciphers:指定SSH-2允许使用的加密算法,多个算法之间使用逗号分隔。禁止CBC模式的加密算法用于SSH2.0协议中(如AES128-CBC、AES256-CBC)。目前支持算法:aes128-gcm@openssh.com和aes256-gcm@openssh.com。
    • HostkeyAlgorithms:指定SSH-2允许使用的身份认证公钥算法,多个算法之间使用逗号分隔。目前支持算法:ssh-ed25519(要求OpenSSH6.5级以上版本)、rsa-sha2-512以及rsa-sha2-256。其中rsa的长度需大于等于3072bits。
    • KexAlgorithms:指定SSH-2允许使用的密钥加密算法,多个算法之间使用逗号分隔。目前支持算法:curve25519-sha256、curve25519-sha256@libssh.org以及diffie-hellman-group-exchange-sha256。OpenSSH6.7开始支持curve25519密钥交换算法。
    • PermitRootLogin:是否允许root登录。建议禁止root用户可以直接登录。
  • MindStudio对工程内文件类型不做校验,需要确认上传文件的文件类型正确。
  • 为了MindStudio客户端能连接,服务端需要配置如下算法:

    ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com

    macs hmac-sha2-256,hmac-sha2-512,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com

    hostkeyalgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256

    kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

    服务端修改方式参考如下:

    1. 执行如下命令编辑配置文件。
      vi /etc/ssh/sshd_config

      请用户修改文件对应行,如果找不到对应行,则新增即可。

    2. 重启ssh服务。
      • Red Hat和OpenEuler系列的操作系统
        service sshd restart
      • Ubuntu系列的操作系统
        service ssh restart
  • 请保存好SSH用户名密码,不要共享给不信任的用户,以免造成环境破坏等影响。
  • 为防止SSH暴力破解,建议用户在SSH端设置登录控制策略。

SSH配置入口

两种进入SSH配置界面方式如下所示,SSH配置界面如图1所示,界面参数解释如表1所示。

  • 在菜单栏依次选择File > Settings... > Tools > Ascend SSH Configurations进入SSH连接配置。
  • 在欢迎界面依次选择Customize > All Settings... > Tools > Ascend SSH Configurations进入SSH连接配置。
图1 SSH配置

SSH连接配置界面左侧展示SSH连接配置项别名,如果没有别名,显示格式为<username>@<host>:<port>,右键单击可修改别名。单击选中别名,可以在右侧详细面板中查看参数配置。

表1 参数及图标说明

参数及图标

说明

Lock the current connection

选项置灰,用户不可操作。如果SSH连接被添加到集群管理中,则该选项会自动勾选,SSH连接被锁定,不可修改和删除。

Host

连接目标地址(IP或域名)。

IP支持IPv4和IPv6。

说明:

不支持以fe80开头的IPv6地址,fe80开头的IPv6地址是link-local地址,只能在子网使用,且通过该地址登录设备需要输入IP对应的网口名,不符合MindStudio中SSH连接界面的输入格式。

Port

连接目标地址的端口号,默认值:22。

User name

登录目标地址的用户名。

Authentication type

身份验证方式。有两种方式可选:

  • Password:通过密码验证身份。
  • Key pair:通过密钥验证身份,SSH密钥申请方式请参见申请密钥对

Password

Authentication type选择验证方式为Password时显示,需要填写对应用户名的密码,勾选Save password复选框可以保存密码。

说明:

如果没勾选Save password。那么密码自动会在24小时后清除,届时再次使用到SSH会弹出密码输入框,需要再次输入密码方能执行SSH任务。

Private key file

Authentication type选择验证方式为Key pair时显示,选择本地私钥文件。

Passphrase

Authentication type选择验证方式为Key pair时显示,需要填写对应密语。勾选Save password复选框可以保存密语。

Test Connection

单击该按钮测试连接是否成功。

新增SSH连接配置。

删除SSH连接配置,选中需要删除的SSH连接配置,单击该按钮删除。

申请密钥对

密钥对可以在本地服务器申请也可以在目标服务器申请,这里以本地服务器申请为例进行描述。

  1. 登录本地服务器,使用如下命令申请密钥对。
    ssh-keygen -m PEM

    或者

    ssh-keygen -t rsa -m PEM
  2. 设置密钥对存放路径,如图2所示。
    图2 配置密钥对存放路径

    可以不设置存放路径,直接按回车键,则密钥对会存放在默认路径($home/.ssh/)。

  3. 设置及确认密语,如图3所示。
    图3 设置密语

    建议passphrase不为空且密语长度至少为5个字符。

    设置完成后,按回车键,在默认路径($home/.ssh/)中生成私钥文件(id_rsa)和公钥文件(id_rsa.pub)。

  4. 使用以下命令将公钥复制至目标服务器,用于免用户密码校验登录。
    ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 目标服务器用户名@目标服务器IP地址

    公钥复制在目标服务器的$home/.ssh/authorized_keys文件中。

新增SSH连接

  1. 参见SSH配置入口进入SSH连接配置界面。
  2. 单击界面左侧导航栏上方按钮。
  3. 根据表1配置参数后,单击“OK”“Apply”

删除SSH连接

  1. 参见SSH配置入口进入SSH连接配置界面。
  2. 选择要删除的SSH连接配置项,单击界面左侧导航栏上方按钮。
  3. 单击“OK”“Apply”

保存SSH密码

  1. 参见SSH配置入口进入SSH连接配置界面。
  2. 进入密码保存方式界面有如下方式:
    • 在左边的导航栏选择Appearance & Behavior > System Settings > Passwords
    • 在搜索栏中输入“Passwords”。
      图4 密码保存方式界面
  3. 选择密码保存方式。
    • In KeePass
    • Do not save,forget passwords after restart

      两种密码保存方式的详细说明请参见《IntelliJ IDEA使用说明》中的“Passwords”章节。

  4. 单击“OK”“Apply”

开启SSH Remote Terminal窗口

通过开启SSH Remote Terminal窗口功能,可以在MindStudio IDE界面上对SSH连接环境进行命令行操作。

已有配置好的SSH连接,详细操作请参见新增SSH连接

  1. 在菜单栏选择Tools > Start Ascend SSH session...

    弹出“Select Host to Connect”弹窗。

  2. 单击需要开启Remote Terminal窗口的SSH连接。

    在MindStudio IDE界面下方显示远端窗口信息,可直接进行命令行操作。

    图5 Remote Terminal

    为防止SSH长时间保持会话可能存在的安全风险,建议用户在服务端设置SSH会话超时时间。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词