5

次のようなイーサネット ケーブルを使用して新しいネットワークに接続するときに、SSH を使用してビーグルボーン (またはビーグルボード) に接続する方法を知る必要があります。

    $ 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 ビーグルボーン」を追加しましたが、他に何ができるかわかりません。

    # 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.local」がネットワーク上に表示されるはずです。

再起動後の約 50% の時間で、「beaglebone.local」がネットワークに表示されませんでした (ボーンは IP アドレスで利用可能ですが)。これが発生すると、「systemctl status avahi-daemon.service」は、avahi-daemon が「終了コード 255」で失敗したことを示しました。興味深いことに、その後の「systemctl start avaihi-daemon.service」は常に成功し、「b​​eaglebone.local」がネットワークに表示されます。

また、「journalctl | grep avahi」は、「Daemon already runningnin gon PID NNN」のようなメッセージを 1 つ返しました。

そこで、/lib/systemd/system/avahi-daemon の [Service] セクションに「ExecStartPre=/bin/rm -f /var/run/avahi-daemon/pid」という行を追加して、問題を「修正」しました。サービス。この追加により、「beaglebone.local」が再起動の 100% でネットワークに表示されるようになりました。

「修正済み」(つまり、引用符で囲む) と言うのは、漂遊した avahi pid ファイルの周りに残っている根本的な原因を追跡できず、したがって真の修正がないためです。

-- フランク

于 2012-05-20T03:57:09.767 に答える
0

「beaglebone.local」が機能するには、ホスト マシンが Zeroconf を認識する必要があります。BeagleBone はAvahiを使用して、LAN 上の他のシステムに、そこにいてアプリケーションを提供していること、および「ビーグルボーン」と呼ばれるべきであることを伝えます。複数ある場合、2 つ目は一般に「beaglebone-2.local」と呼ばれます。

于 2012-05-16T07:44:04.633 に答える
0

自分の質問に答えるのが嫌いです。次のハックは、より良い方法が現れるまで機能します。

このシェル スクリプト (xxx.xxx.xxx はコンピューターの IP の最初の 3 つの数字) は、サブネット上のすべての IP アドレスをループして、ビーグルボーンまたはビーグルボード (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

この問題は、Mac OS X 10.7 でかなり頻繁に発生しました。しかし、フランク・ハラスの「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 に答える