文档
注册
评分
提单
论坛
小AI

使用DSMI接口打开SSH服务

简介

若您在制作文件系统时未通过修改系统启动脚本的方式打开SSH服务,系统启动后,您可参考本章节使用DSMI接口进行打开。

Device的SSH服务处于关闭状态可提升系统安全性。

如果需要打开SSH,请确保SSH登录密码的复杂度和机密性。如果SSH登录密码出现泄露,攻击者可侵入Device对系统进行篡改,并可能导致系统内部敏感信息泄漏、系统无法得到预期的运行结果或系统无法正常运行等安全事件。

操作步骤

用户可通过调用DSMI接口“dsmi_set_user_config”打开Device侧的SSH服务,下面给出调用此DSMI接口的完整示例。

  1. 在Host侧以root用户新建调用DSMI接口的源码文件,例如命名为“dsmi_open_ssh.c”。

    touch dsmi_open_ssh.c

    “dsmi_open_ssh.c”文件中代码示例如下:

    #include <stdlib.h>
    #include <stdio.h>
    #include "dsmi_common_interface.h"  // DSMI相关接口所在头文件,存储路径为Host侧的/usr/local/Ascend/driver/include
    
    int main()
    {
        int ret;
        int dev_list[64] = {0};
        int dev_cnt = 0;
        const char config_name[20] = "ssh_status";
        unsigned int buf_size = 1;
        unsigned char buf = 1;  // 0: disable 1:enable
    
        ret = dsmi_get_device_count(&dev_cnt);
        if (ret != 0) {
            printf("[%s] get dev_cnt test_fail value = %d \n", __func__, ret);
            return -1;
        }
        if (dev_cnt <= 0) {
            printf("[%s] get dev_cnt test_fail value = -1 , dev_cnt:%d \n", __func__, dev_cnt);
            return -1;
        }
        printf("[%s] dev_cnt:%d \n", __func__, dev_cnt);
    
        ret = dsmi_list_device(dev_list, dev_cnt);
        if (ret != 0) {
            printf("[%s] list device test_fail value = %d \n", __func__, ret);
            return -1;
        }
    
        for (int i = 0; i < dev_cnt; i++) {
             ret = dsmi_set_user_config(dev_list[i], config_name, buf_size, &buf);
             if (ret != 0) {
                 printf("[%s, %d] dev_id:%d test_fail, value = -1 ret:%d \n", __func__, __LINE__, dev_list[i], ret);
                 return -1;
             }
            printf("[%s, %d] dev_id:%d set %s:0x%x, buf_size:%d\n", __func__, __LINE__, dev_list[i], config_name, buf, buf_size);
        }
    
        return 0;
    }
  2. 执行如下命令,对“dsmi_open_ssh.c”文件进行编译。
    gcc dsmi_open_ssh.c /usr/local/Ascend/driver/lib64/libdrvdsmi_host.so -L. -I/usr/local/Ascend/driver/include  -std=c99 -o open_ssh_tool

    /usr/local/Ascend表示Driver组件的默认安装路径,请根据实际情况替换。

    编译完成后,会生成可执行文件“open_ssh_tool”。

  3. 执行可执行文件“open_ssh_tool”,开启Device的SSH服务。
    ./open_ssh_tool 
  4. 重启Host。

    通过DSMI接口开启Device的SSH服务后,需要重启才能生效,请在Host侧执行如下命令进行重启操作。

    reboot

  5. SSH服务开启后,系统默认的SSH服务占用的内存大小限制为50MB,若用户想取消此限制,可进行如下操作:
    1. 以HwHiAiUser用户登录Device,然后切换到root用户。
    2. 执行如下命令取消对SSH服务占用内存大小的限制。

      cat /sys/fs/cgroup/memory/sshdmemory/cgroup.procs |xargs -n1 >>/sys/fs/cgroup/memory/cgroup.procs;rmdir /sys/fs/cgroup/memory/sshdmemory/

    需要注意,每次Host重启后,都会恢复默认50MB的SSH服务内存限额。

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

当前产品无相关内容

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