2012-05-10 6 views
5

мне нужно знать, как подключиться к beaglebone (или BeagleBoard) с SSH, когда я подключить его к новой сети с помощью сетевого кабеля, как это:Не удается подключиться к beaglebone.local

$ ssh [email protected] 

До сих пор я «ве только смог получить к нему доступ, как это, если я знаю IP-адрес:

$ ssh [email protected]<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 

ответ

5

У меня была аналогичная проблема с моей beaglebone на 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» показал, что авахи-демона не удалось выполнить «код выхода 255». Интересно, что следующий «системный запуск avaihi-daemon.service» всегда будет успешным, и в сети появится «beaglebone.local».

Также «journalctl | grep avahi» возвратил одно сообщение с сообщением «Daemon уже runnin gon PID NNN».

Итак, я «исправил» проблему, добавив строку «ExecStartPre =/bin/rm -f/var/run/avahi-daemon/pid» в раздел [Сервис] в/lib/systemd/system/Avahi-daemon.service. С этим дополнением теперь «beaglebone.local» появляется в сети 100% перезагрузок.

Я говорю «фиксированный» (т. Е. В кавычках), потому что я не смог отследить основную причину, которая выходит из файла avyi pid (s) avray и, следовательно, не имеет истинного исправления.

- Франк

0

Ненавижу отвечать на свои вопросы. Следующий хак будет работать до тех пор, пока не появится лучший способ:

Этот сценарий оболочки (где xxx.xxx.xxx - это первые три номера на IP-адресе вашего компьютера) найдет ваш beaglebone или beagleboard (который подключен к сети Ethernet на новая сеть с DHCP) путем циклического перехода по всему IP-адресу в подсети и попытке входа в систему как root. Если он найдет его, попробуйте свой пароль. Если он не работает, просто нажмите Enter, пока цикл не начнется снова. Если он не находит плату, то что-то еще, вероятно, неправильно.

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

UPDATE 1

Сегодня я подключил-в beaglebone и увидел Bonjour признают, что он присоединился к сети. Поэтому я попробовал, и это сработало. Не знаю, почему он решил все внезапно, но это произошло. Удивительно, но факт.

+0

Простой способ, если вы знаете, MAC-адрес порта локальных сетей вашего BEAGLE-платы: 'птар -sP ; arp -an | grep ' –

+1

Это отличная идея. Не работает для меня, хотя. В качестве альтернативы, пингование широковещательного адреса и последующего запуска arp даст вам список, тогда вы сможете найти свой MAC. # ping 192.168.1.255 # arp -an – ow3n

+1

Вы также можете использовать nmap -F xxx.xxx.xxx.1/24 и искать открытые порты. Обычно can9 в порту 3000 является хорошим показателем. Я понимаю, что это не решение для ретрансляции в любое время. – Seeker

0

Для работы beaglebone.local ваша хост-машина должна распознавать Zeroconf. BeagleBone использует Avahi, чтобы сообщить другим системам в локальной сети, что он есть, и обслуживать приложения, и что его следует называть «beaglebone». Если их больше одного, второй, как правило, называется «beaglebone-2.local».

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 
Смежные вопросы