Решено: убедитесь, что libnss-mdns установлен!
У меня проблемы с использованием SSH с моего нетбука на рабочий стол с использованием имени хоста .local. Время от времени мне приходится сбрасывать используемый маршрутизатор, который сбрасывает адреса, которые он выдает моим устройствам, поэтому некоторое время назад я настроил Avahi, чтобы обойти это *. Файл /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 в другом направлении (ПК-> нетбук) работает нормально, даже при использовании имени хоста .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: Проверка связи компьютера с нетбуком с именем хоста .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
ping pc.local
?
strace ssh user@foo
также покажет, что ssh связывается с avahi-daemon с просьбой разрешить foo
, что истекло ... В моем случае изменилось /etc/nsswitch.conf
: с " hosts: files mdns4_minimal [NOTFOUND=return] dns
" на " hosts: files dns mdns4_minimal
". Не уверен, почему демон avahi, как предполагается, НЕ запрашивает DNS-серверы, возможно, он должен что-то делать с несовместимостью между многоадресным DNS и DNS в локальной сети (см. Также: TLD .local ... в .local
любом случае это плохая практика)
ssh user@hostname:/folder
?