mdt shell 未连接或推送 ssh 密钥

mdt shell does not connect or push ssh key

在遵循 here. Initially, I had the mendel 'public device cowardly refusal' issue as outlined in an 之后,我无法通过 mdt shell 通过 OTG USB-C 端口连接到我的珊瑚开发板。我使用串行控制台和 nmtui 在我的 LAN 上获取开发板,我修复了我主机上的检查代码以匹配我的 LAN 安排(172 而不是 192 块)并且通过 mdt shell 开始连接.

现在,在连接时我收到以下关于只允许一个 ssh 密钥的错误。自从我最初刷新电路板以来,我只在串行控制台中通过 screen 连接。从来没有人 ssh 过。

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。通过串行控制台,我可以看到该目录不存在 [yet?]...

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)。出厂新板闪现了开发板快速入门说明 2020 年 8 月 12 日

您可以尝试使用 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-ing 进入您的板使用:

$ ssh mendel@ip-addr