mdt shell无法连接或按下ssh键

问题描述

按照here进行操作后,我无法通过OTG USB-C端口通过mdt shell连接到我的珊瑚开发板。最初,我遇到了q&answer here中概述的“公共设备怯拒绝”问题。我使用串行控制台和nmtui在我的LAN上安装了开发板,并修复了主机上的该检查代码以匹配我的LAN排列(172而不是192块),并且可以通过mdt shell开始连接

现在,在连接时出现以下错误提示只允许使用一个ssh密钥。自从我最初烧写板子以来,我只能通过screen在串行控制台中进行连接。没人可以。

Waiting for a device...
Connecting to undefined-snail at 172.16.1.39
Key not present on undefined-snail -- pushing

Couldn't connect to keymaster on undefined-snail: [Errno 61] Connection refused.

Did you prevIoUsly connect from a different machine? If so,mdt-keymaster will not be running as it only accepts a single key.

You will need to either:
   1) Remove the key from /home/mendel/.ssh/authorized_keys on the
      device via the serial console

- or -

   2) copy the mdt private key from your home directory on this host
      in ~/.config/mdt/keys/mdt.key to the first machine and use
      'mdt pushkey mdt.key' to add that key to the device's
      authorized_keys file.

Failed to push via keymaster -- will attempt password login as a fallback.
Can't login using default credentials: Bad authentication type; allowed types: ['publickey']

一个建议指向已知的authorized_keys。通过串行控制台,我可以看到该目录不存在[还吗?] ...

mendel@undefined-snail:~$ pwd && ls -la
/home/mendel
total 28
drwxr-xr-x 3 mendel mendel 4096 Aug 13 01:11 .
drwxr-xr-x 4 root   root   4096 Feb 14  2019 ..
-rw------- 1 mendel mendel  237 Aug 13 02:01 .bash_history
-rw-r--r-- 1 mendel mendel  220 Feb 14  2019 .bash_logout
-rw-r--r-- 1 mendel mendel 3526 Feb 14  2019 .bashrc
drwx------ 3 mendel mendel 4096 Jul 24 20:51 .gnupg
-rw-r--r-- 1 mendel mendel  807 Feb 14  2019 .profile

关于通过mdt pushkey复制本地密钥的第二条建议不起作用,并且重复了我在mdt shell之后收到的相同错误消息

macOS Catalina 10.15.6(19G73)。带有devboard快速入门说明的出厂新板闪现了8/12/2020

解决方法

您可以尝试使用ssh代替mdt吗(mdt只是ssh的包装器)? 我认为这是Catalina的问题,Linux和Mac的旧版本也能正常工作,我相信这与他们的libusb更改有关。 此问题已在前面进行了报道,这是使用ssh的快速指南:

在Mac上使用以下方法创建id_rsa密钥:

$ ssh-keygen

这将在您的MAC上创建一个~/.ssh/id_rsa.pub文件。您可以将该密钥复制到板上,然后将内容放入~/.ssh/authorized_keys中(可以在此文件中放入多个密钥)。 之后,您可以通过修改/ etc / ssh / sshd_config来禁用密码身份验证,并将PasswordAuthentication从yes更改为no,然后在开发板上重新启动ssh服务:

$ sudo systemctl restart ssh

然后,您可以使用以下方法开始将其插入板中:

$ ssh mendel@ip-addr