Rozwiązane: upewnij się, że libnss-mdns jest zainstalowany!
Mam problem z używaniem SSH'ing z mojego netbooka na pulpit za pomocą .lokalnej nazwy hosta. Co jakiś czas muszę zresetować router, którego używam, co resetuje adresy, które podaje moim urządzeniom, więc jakiś czas temu skonfigurowałem Avahi, aby obejść ten problem *. Plik /etc/avahi/services/ssh.service to standardowy plik skopiowany z dokumentacji:
<?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>
Kiedyś działało dobrze, ale teraz z jakiegoś powodu, gdy próbuję ssh z mojego netbooka na pulpit, pojawia się następujący komunikat o błędzie (uwaga: w tym wyjściu zmieniłem nazwę hosta mojego komputera):
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
Mogę ssh z mojego netbooka na komputer, kiedy ręcznie wpisuję adres IP, a kiedy poprawnie skonfiguruję / etc / hosts (więc demon na moim komputerze działa dobrze), przestaje działać tylko, gdy próbuję użyj adresu lokalnego. SSH'ing w innym kierunku (PC-> netbook) działa dobrze, nawet jeśli używasz .lokalnej nazwy hosta. Avahi również działa dobrze:
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
Netbook działa pod kontrolą Lubuntu 13.10; zauważ, że ostatnio zmieniłem na Lubuntu i pamiętam ten błąd tylko w Lubuntu, a nie w zwykłym Ubuntu. Na moim pulpicie działa Ubuntu 13.10.
Każda pomoc będzie mile widziana!
* Wiem, że mogę skonfigurować mój router, aby na stałe podawał ustawione adresy obu urządzeniom, i zrobię to, jeśli nie będę w stanie rozwiązać tego problemu, ale wolę spróbować to naprawić niż obejść.
ETA: Pingowanie komputera PC z netbooka przy użyciu .local nazwa hosta nie działa (nieznany host).
Edycja 2: Zawartość /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
pokaże także, że ssh kontaktuje się z avahi-demonem z prośbą o rozwiązanie foo
, która upłynęła ... W moim przypadku zmieniono na /etc/nsswitch.conf
: Z „ hosts: files mdns4_minimal [NOTFOUND=return] dns
” na „ hosts: files dns mdns4_minimal
”. Nie jestem pewien, dlaczego demon avahi ma NIE pytać serwerów DNS, może być konieczne rozwiązanie problemu niezgodności między DNS multiemisji a DNS w sieci LAN (patrz też: lokalna TLD ... i tak .local
jest złą praktyką)
ssh user@hostname:/folder
?