Skip to main content

网口的MAC地址相同

SSH服务重启失败,提示:ssh.serviceJob for ssh.service failed

现象描述

重启SSH服务失败,提示如下:

## /etc/init.d/ssh restartRestarting ssh (via systemctl): ssh.serviceJob for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xeu ssh.service" for details. failed!

解决方案

通过**/usr/sbin/sshd -T**命令查看发现是权限问题。提示如下:

## /usr/sbin/sshd -T
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/etc/ssh/ssh_host_ed25519_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
sshd: no hostkeys available -- exiting.

通过修改权限解决。步骤如下:

  1. 登录开发者套件。

  2. 修改权限。

    chmod -R 600 /etc/ssh/*
  3. 重启SSH服务。

    /etc/init.d/ssh restart

    显示如下信息时表示SSH服务重启成功。

    Restarting ssh (via systemctl): ssh.service.

父主题: 开发者套件启动、登录与联网

netplan apply命令报错,提示:undefined symbol: g_spawn_check_wait_status

现象描述

执行netplan apply命令时报错。提示如下:

(base) root@davinci-mini:~/.pip# netplan apply
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 42, in main
self.parse_args()
File "/usr/share/netplan/netplan/cli/core.py", line 35, in parse_args
import netplan.cli.commands
File "/usr/share/netplan/netplan/cli/commands/__init__.py", line 18, in <module>
from netplan.cli.commands.apply import NetplanApply
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 33, in <module>
from netplan.cli.sriov import apply_sriov_config
File "/usr/share/netplan/netplan/cli/sriov.py", line 27, in <module>
import netplan.libnetplan as libnetplan
File "/usr/share/netplan/netplan/libnetplan.py", line 44, in <module>
lib = ctypes.CDLL(ctypes.util.find_library('netplan'))
File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /lib/aarch64-linux-gnu/libnetplan.so.0.0: undefined symbol: g_spawn_check_wait_status

解决方案

  1. 执行ldd -r查看so库链接状态和错误信息。

    (base) root@davinci-mini:~/.pip# ldd -r /lib/aarch64-linux-gnu/libnetplan.so.0.0
    linux-vdso.so.1 (0x0000e7ffeafcc000)
    libgio-2.0.so.0 => /usr/local/Ascend/mxVision/opensource/lib/libgio-2.0.so.0 (0x0000e7ffead10000)
    libgobject-2.0.so.0 => /usr/local/Ascend/mxVision/opensource/lib/libgobject-2.0.so.0 (0x0000e7ffeac90000)
    libglib-2.0.so.0 => /usr/local/Ascend/mxVision/opensource/lib/libglib-2.0.so.0 (0x0000e7ffeab10000)
    libyaml-0.so.2 => /lib/aarch64-linux-gnu/libyaml-0.so.2 (0x0000e7ffeaae0000)
    libuuid.so.1 => /lib/aarch64-linux-gnu/libuuid.so.1 (0x0000e7ffeaac0000)
    libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000e7ffea910000)
    /lib/ld-linux-aarch64.so.1 (0x0000e7ffeaf93000)
    libgmodule-2.0.so.0 => /usr/local/Ascend/mxVision/opensource/lib/libgmodule-2.0.so.0 (0x0000e7ffea8e0000)
    libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000e7ffea8b0000)
    libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000e7ffea870000)
    libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000e7ffea840000)
    libffi.so.7 => /usr/local/Ascend/mxVision/opensource/lib/libffi.so.7 (0x0000e7ffea810000)
    libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000e7ffea7f0000)
    libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000e7ffea7d0000)
    libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000e7ffea730000)
    undefined symbol: g_spawn_check_wait_status (/lib/aarch64-linux-gnu/libnetplan.so.0.0)

    根据以上信息发现系统库/lib/aarch64-linux-gnu/libnetplan.so.0.0链接到多个mxVision第三方开源库,可以推测是mxVision的第三方开源库与系统版本不兼容导致。

    需要确定mxVision是否为原生ubuntu 22.04下编译构建。

  2. 编辑环境变量文件。

    ~/.bashrc
  3. 将CANN和mxVision的环境变量注释。

    # . /usr/local/Ascend/ascend-toolkit/set_env.sh
    # . /usr/local/Ascend/mxVision/set_env.sh
  4. 输入**:wq**保存退出。

  5. 使用新的终端登录并再次执行netplan apply

    (base) root@davinci-mini:~# netplan apply
    (base) root@davinci-mini:~#

    命令执行成功。

    注意如果是DHCP连接路由器的网口,执行netplan apply后IP可能会改变。

  6. 重新执行ldd -r发现libnetplan.so.0.0库已经链接到了正常的系统库。

    ldd -r /lib/aarch64-linux-gnu/libnetplan.so.0.0
    linux-vdso.so.1 (0x0000e7ffd197e000)
    libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000e7ffd16f0000)
    libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000e7ffd1670000)
    libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000e7ffd1520000)
    libyaml-0.so.2 => /lib/aarch64-linux-gnu/libyaml-0.so.2 (0x0000e7ffd14f0000)
    libuuid.so.1 => /lib/aarch64-linux-gnu/libuuid.so.1 (0x0000e7ffd14d0000)
    libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000e7ffd1320000)
    /lib/ld-linux-aarch64.so.1 (0x0000e7ffd1945000)
    libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000e7ffd1300000)
    libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000e7ffd12d0000)
    libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000e7ffd1270000)
    libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000e7ffd1230000)
    libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000e7ffd1210000)
    libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000e7ffd1190000)
    libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000e7ffd10f0000)
    libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000e7ffd10a0000)
    libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000e7ffd1000000)
  7. 修改“/home/HwHiAiUser/sample/notebooks/start_notebook.sh jupyter”启动脚本如下:

    . /usr/local/Ascend/ascend-toolkit/set_env.sh
    . /usr/local/Ascend/mxVision/set_env.sh
    if [ $# -eq 1 ];then
    jupyter lab --ip $1 --allow-root --no-browser
    else
    jupyter lab --ip 192.168.137.100 --allow-root --no-browser
    fi

父主题: 开发者套件启动、登录与联网

网口的MAC地址相同

现象描述

网口的MAC地址相同。

可能原因

可能为拷贝SD卡造成。可尝试复现拷贝SD卡操作进行验证,操作如下:

  1. 将同一个镜像文件烧录到不同的SD卡中。
  2. 将SD卡插到多台开发者套件上。
  3. 执行ifconfig -a命令查看多台开发者套件之间的eth0\eth1\usb0网口的MAC地址是否相同。

解决方案

手动设置MAC地址。步骤如下:

  1. 查询当前开发者套件的芯片MAC地址设置情况。

    (base) root@davinci-mini-devkit-2:~# npu-smi info -t mac-addr -i 0
    NPU ID : 0
    Chip Count : 1

    mac_addr 0 : 26:ca:c0:68:c5:7c
    mac_addr 1 : 46:c9:e8:12:b2:53
    mac_addr 2 : ff:ff:ff:ff:ff:ff
    mac_addr 3 : ff:ff:ff:ff:ff:ff
    Chip ID : 0
  2. 根据以上信息发现,mac_addr 0和mac_addr 1已经设置MAC地址,mac_addr 2和mac_addr 3为ff:ff:ff:ff:ff:ff,表示MAC还没设置。

  3. 设置MAC地址。命令如下:

    npu-smi set -t mac-addr -i 0 -c 0 -d number -s xx:xx:xx:xx:xx:xx

    -d number:指定mac_addr的编号。number表示具体编号,取值范围{0,1,2,3}。

    -s xx:xx:xx:xx:xx:xx :配置具体的MAC值。xx:xx:xx:xx:xx:xx为MAC地址格式。

父主题: 开发者套件启动、登录与联网

正确配置网络后仍无法联网

现象描述

正确配置网络后仍无法联网。提示如下:

(base) root@davinci-mini-devkit-1:~# ping baidu.com
ping: baidu.com: Temporary failure in name resolution

解决方案

添加DNS,命令如下:

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

父主题: 开发者套件启动、登录与联网

启动开发者套件后发现无法SSH登录

现象描述

Ubuntu 22.04系统重装升级后,启动开发者套件后发现无法SSH登录。

可能原因

开发者套件SSH服务异常。

解决方案

执行以下ssh-keygen命令重新生成SSH主机秘钥,并重启sshd服务:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
systemctl restart sshd

父主题: 开发者套件启动、登录与联网

开发者套件IP能ping通但是SSH无法连接

现象描述

SSH无法连接,但是IP能ping通,串口无任何信息。

可能原因

因为apt自动软件更新会消耗很多资源,导致开发者套件内存被占满。

解决方案

  1. 登录开发者套件。

  2. 执行如下命令,切换至root用户。

    su - root
  3. 执行以下命令,打开“20auto-upgrades”文件。

    vi /etc/apt/apt.conf.d/20auto-upgrades

    将下列参数的值修改为0,若已为0,则无需修改。

    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Unattended-Upgrade "0";
    APT::Periodic::Download-Upgradeable-Packages "0";
    APT::Periodic::AutocleanInterval "0";

    保存并退出。

父主题: 开发者套件启动、登录与联网

在线提单