Unix 无法连接到beaglebone.local

Unix 无法连接到beaglebone.local,unix,networking,ip-address,beagleboard,angstrom-linux,Unix,Networking,Ip Address,Beagleboard,Angstrom Linux,我需要知道,当我使用以太网电缆将beaglebone(或beagleboard)插入新网络时,如何使用SSH连接到beaglebone(或beagleboard),如下所示: $ ssh root@beaglebone.local 到目前为止,我只能这样访问它,如果我知道IP地址: 我检查了主机名和主机文件,并向beaglebone上的主机添加了“127.0.0.1 beaglebone”,但不确定还能做什么 # cat /etc/hostname beaglebo

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

    $ ssh root@beaglebone.local 
到目前为止,我只能这样访问它,如果我知道IP地址:

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

    # cat /etc/hostname 
    beaglebone 

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

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

此shell脚本(其中xxx.xxx.xxx是计算机IP中的前三个数字)将通过循环子网上的所有IP地址并尝试以根用户身份登录到每个地址来查找beaglebone或beagleboard(插入新网络上带有DHCP的以太网)。如果它找到一个,然后尝试你的密码。如果不起作用,只需按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认识到它加入了网络。所以我试了一下,效果很好。不知道它为什么突然决定这么做,但它做到了。奇怪,但确实如此。

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

我在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”还返回了一条消息,说明类似“守护进程已在运行”

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

我之所以说“已修复”(即,用引号括起来),是因为我无法找到丢失的avahi pid文件的根本原因,因此没有真正的修复


--弗兰克

我在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

如果您知道beagle board以太网端口的mac地址,则更简单的方法是:
nmap-sP;arp-an | grep
这是个好主意。但这对我不起作用。或者,ping广播地址,然后运行arp会给你一个列表,然后你可以找到你的MACping 192.168.1.255#arp-anYou还可以使用nmap-F xxx.xxx.xxx.1/24并查找打开的端口。通常情况下,端口3000处的could9是一个良好的指示。我明白这不是一个在任何时候都可以依赖的解决方案。
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
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
$ sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist