【问题标题】:mdt shell does not connect or push ssh key [closed]mdt shell 不连接或推送 ssh 密钥 [关闭]
【发布时间】:2020-08-13 13:18:31
【问题描述】:

在跟随here 之后,我无法通过 OTG USB-C 端口通过mdt shell 连接到我的珊瑚开发板。最初,我遇到了 q&answer here 中概述的 mendel '公共设备懦弱拒绝'问题。我使用串行控制台和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']

第一个建议指向已知的授权密钥。通过串行控制台,我可以看到该目录不存在 [还没有?]...

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 google-coral mendel-os


    【解决方案1】:

    您可以尝试使用 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
    

    【讨论】:

    • 这成功了!谢谢你。除了一部分—— PasswordAuthentication 已经设置为 no 所以这不是问题。如前所述,我复制了我的公钥并重新启动了 sshd。显然 Catalina 不支持 mdt。
    • 哦,对了,抱歉,出于安全原因,PasswordAuthentication 默认为 yes :)
    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多