5

当我使用以太网电缆将其插入新网络时,我需要知道如何使用 SSH 连接到 beaglebone(或 beagleboard),如下所示:

    $ ssh root@beaglebone.local 

到目前为止,如果我知道 IP 地址,我只能像这样访问它:

    $ ssh root@<ip_address> 

但我并不总是知道新网络上的板子的 IP 地址,所以我希望使用如下名称访问它:beaglebone.local。

现在,当我尝试执行此操作时,出现此错误:

    "ssh: Could not resolve hostname beaglebone.local: nodename nor servname provided, or not known" 

我检查了主机名和主机文件,并将“127.0.0.1 beaglebone”添加到 beaglebone 上的主机,但不确定我还能做什么?

    # cat /etc/hostname 
    beaglebone 

    # cat /etc/hosts 
    127.0.0.1        localhost.localdomain                localhost 
    127.0.0.1        beaglebone 
4

4 回答 4

5

我在 Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.05-beaglebone-2012.04.22.img.xz 上运行我的 beaglebone 时遇到了类似的问题。在这个发行版中,“beaglebone.local”应该会在系统启动后出现在网络上。

重新启动后大约 50% 的时间里,“beaglebone.local”不会出现在网络上(尽管可以通过 IP 地址获得骨骼)。发生这种情况时,“systemctl status avahi-daemon.service”显示 avahi-daemon 以“退出代码 255”失败。有趣的是,随后的“systemctl start avaihi-daemon.service”总是会成功,并且“beaglebone.local”会出现在网络上。

“journalctl | grep avahi”也返回了一条消息,说明“守护进程已经在运行 gon PID NNN”。

因此,我通过将“ExecStartPre=/bin/rm -f /var/run/avahi-daemon/pid”行添加到 /lib/systemd/system/avahi-daemon 的 [Service] 部分来“修复”该问题。服务。有了这个添加,“beaglebone.local”现在出现在网络上 100% 重新启动。

我说“已修复”(即,用引号引起来)是因为我无法找到遗留在杂散 avahi pid 文件周围的根本原因,因此没有真正的修复。

——弗兰克

于 2012-05-20T03:57:09.767 回答
0

我讨厌回答我自己的问题。在出现更好的方法之前,以下 hack 将一直有效:

这个 shell 脚本(其中 xxx.xxx.xxx 是您计算机 IP 中的前三个数字)将通过循环遍历子网上的所有 IP 地址来找到您的 beaglebone 或 beagleboard(即插入到具有 DHCP 的新网络上的以太网)并尝试以root身份登录每个。如果找到,请尝试您的密码。如果它不起作用,只需按 Enter 键,直到循环再次开始。如果它没有找到板,那么可能是其他问题。

for ip in $(seq 1 254); do ssh root@xxx.xxx.xxx.$ip -o ConnectTimeout=5; [ $? -eq 0 ] && echo "xxx.xxx.xxx.$ip UP" || : ; done

更新 1

今天我插入了 beaglebone,看到 Bonjour 识别出它加入了网络。所以我试了一下,它奏效了。不知道为什么它突然决定,但确实如此。奇怪,但真实。

于 2012-05-10T17:04:17.587 回答
0

要使“beaglebone.local”正常工作,您的主机必须能够识别 Zeroconf。BeagleBone 使用Avahi告诉 LAN 上的其他系统它在那里并为应用程序提供服务,并且它应该被称为“beaglebone”。如果有多个,则第二个通常称为“beaglebone-2.local”。

于 2012-05-16T07:44:04.633 回答
0

我在使用 Mac OS X 10.7 时经常遇到这个问题。但与 Frank Halasz 不同,“systemctl status avahi-daemon.service”显示没有失败。事实上,问题出在 Mac 端。使用以下命令重新启动 Bonjour 解决了该问题。

$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
$ sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
于 2012-07-12T20:14:34.070 回答