Решенный: удостоверьтесь, что libnss-mdns установлен!
Я испытываю затруднения с помощью SSH'ing от моего нетбука до моего рабочего стола с помощью .local имени хоста. Время от времени я должен сбросить маршрутизатор, который я использую, который сбрасывает адреса, которые он выделяет к моим устройствам, поэтому только что я создал Avahi для обхождения this*./etc/avahi/services/ssh.service файл является стандартным, скопированным с документации:
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<!-- See avahi.service(5) for more information about this configuration file -->
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_ssh._tcp</type>
<port>22</port>
</service>
</service-group>
Это раньше хорошо работало, но теперь по некоторым причинам, когда я пробую к ssh от моего нетбука до моего рабочего стола, я добираюсь, следующее сообщение об ошибке (обратите внимание, что я изменил имя хоста своего ПК в этом выводе):
user@netbook>> ssh pc.local -vvv
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /home/username/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
ssh: Could not resolve hostname pc.local: Name or service not known
Я могу ssh со своего нетбука на мой ПК, когда я вставил IP-адрес вручную, и когда я настроил/etc/hosts правильно (таким образом, демон на моем ПК хорошо работает), он только прекращает работать, когда я пытаюсь использовать адрес .local. SSH'ing в другом направлении (ПК-> нетбук) хорошо работает, даже когда с помощью .local имени хоста. Avahi также, кажется, хорошо работает:
user@netbook>> avahi-browse -a -t+
+ wlan0 IPv6 netbook SSH Remote Terminal local
+ wlan0 IPv6 netbook [<MAC address>] Workstation local
+ wlan0 IPv6 netbook Remote Disk Management local
+ wlan0 IPv4 netbook SSH Remote Terminal local
+ wlan0 IPv4 netbook [<MAC address>] Workstation local
+ wlan0 IPv4 netbook Remote Disk Management local
+ wlan0 IPv4 pc SSH Remote Terminal local
+ wlan0 IPv4 pc [<MAC address>] Workstation local
+ wlan0 IPv4 pc Remote Disk Management local
+ wlan0 IPv6 pc SSH Remote Terminal local
+ wlan0 IPv6 pc [<MAC address>] Workstation local
+ wlan0 IPv6 pc Remote Disk Management local
Нетбук выполняет Lubuntu 13.10; обратите внимание, что я действительно недавно изменился на Lubuntu, и я только вспоминаю наблюдение этой ошибки с Lubuntu а не с плоскостью Ubuntu. Мой рабочий стол запускает Ubuntu 13.10.
Любая справка ценилась бы!
*Я знаю, что это может настроить мой маршрутизатор для постоянного предоставления адресов набора обоим устройствам, и я сделаю это, если бы я не могу решить этот вопрос, но я предпочел бы пытаться зафиксировать это, а не работу вокруг этого.
ETA: Проверка с помощью ping-запросов ПК от нетбука с .local именем хоста не работает (неизвестный хост).
Редактирование 2: содержание /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal dns [NOTFOUND=return] mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Ну, *.local
не разрешены.
Таким образом на Клиентской машине (Ноутбук)
Установка avahi-dnsconfd
sudo apt-get install avahi-daemon avahi-dnsconfd avahi-discover avahi-utils
avahi-dnsconfd
слушает публикацию и передает их resolvconf
.
Установка libnss-mdns
(Эта библиотека отсутствовала, Устанавливание ее решило проблему в этом случае),
sudo apt-get install libnss-mdns
nss-mdns является плагином для функциональности Службы имен переключателя (NSS) GNU GNU C Библиотека (glibc) обеспечение разрешения имени хоста через Многоадресную передачу DNS (использующий Zeroconf, иначе Apple Добрый день / Рандеву Apple), эффективно позволяя определение имен общими программами Unix/Linux в специальном mDNS домене .local
Проверить /etc/nsswitch.conf
hosts: files wins mdns4_minimal dns [NOTFOUND=return] mdns4
Это должно иметь mdns4_minimal
или mdns4
прежде [NOTFOUND=return]
и прежде dns
если у Вас есть сервер DNS, который настроил твердость *.local
.
Удалить wins
если Вы не используете winbind/samba, чтобы разрешить, что Windows совместно использует имена хостов.
Перезагрузка
Клиентская машина (Ноутбук)
Проверить avahi-dnsconfd
сервисное состояние
$ service avahi-dnsconfd status
avahi-dnsconfd start/running, process 1548
Выполненный avahi-discover
, Ваш рабочий стол должен быть перечислен в IPv4→local→Workstation
Пример в снимке экрана mx5
мой ПК где salah-Aspire-5738
другая машина.
Посмотрите, может ли Avahi разрешить имена хостов
avahi-resolve -4 --name yourdesktop.local
Тест ping
$ ping salah-Aspire-5738.local
PING salah-Aspire-5738.local (192.168.1.3) 56(84) bytes of data.
64 bytes from salah-Aspire-5738.local (192.168.1.3): icmp_seq=1 ttl=64 time=2.69 ms
Машина сервера (Рабочий стол), В случае, если avahi-discover
в Клиенте машина не перечисляла запись Сервера.
Подтвердите это avahi-daemon
установлен
sudo apt-get install avahi-daemon avahi-dnsconfd avahi-discover avahi-utils
avahi-daemon
обеспечьте сервисную публикацию.
Проверьте его сервисное состояние
$ service avahi-daemon status
avahi-daemon start/running, process 1517
По умолчанию avahi
опубликовать _workstation._tcp
сервис. проверьте использование avahi-discover
локально, если не перечисленная попытка, разрешающая его в /etc/avahi/avahi-daemon.conf
(удалите #
)
publish-workstation=yes
Затем демон перезапуска:
sudo service avahi-daemon restart
Проверьте снова.