Risolto: assicurati che libnss-mdns sia installato!
Sto riscontrando problemi con l'utilizzo di SSH dal mio netbook al desktop usando un nome host .local. Ogni tanto devo ripristinare il router che utilizzo, che reimposta gli indirizzi che fornisce ai miei dispositivi, così qualche tempo fa ho impostato Avahi per aggirare questo *. Il file /etc/avahi/services/ssh.service è quello standard copiato dalla documentazione:
<?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>
Questo funzionava bene, ma ora per qualche motivo quando provo a ssh dal mio netbook al mio desktop, ricevo il seguente messaggio di errore (nota che ho cambiato il nome host del mio PC in questo output):
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
Posso ssh dal mio netbook al mio PC quando inserisco manualmente l'indirizzo IP e quando ho impostato correttamente / etc / hosts (quindi il demone sul mio PC funziona bene), smette di funzionare solo quando provo a usa l'indirizzo .local. SSH nell'altra direzione (PC-> netbook) funziona bene, anche quando si utilizza un nome host .local. Anche Avahi sembra funzionare bene:
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
Il netbook esegue Lubuntu 13.10; nota che di recente sono passato a Lubuntu e ricordo solo di aver visto questo errore con Lubuntu e non con Ubuntu. Il mio desktop esegue Ubuntu 13.10.
Qualsiasi aiuto sarebbe apprezzato!
* Sono consapevole che può configurare il mio router in modo da fornire in modo permanente indirizzi impostati a entrambi i dispositivi, e lo farò se non riesco a risolvere questo problema, ma preferirei provare a risolverlo piuttosto che aggirarlo.
ETA: il ping del PC dal netbook con il nome host .local non funziona (host sconosciuto).
Modifica 2: Contenuto di /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
mostrerà anche che ssh contatta avahi-daemon con la richiesta di risoluzione foo
, che scade ... Nel mio caso è cambiato in /etc/nsswitch.conf
: Da " hosts: files mdns4_minimal [NOTFOUND=return] dns
" a " hosts: files dns mdns4_minimal
". Non sono sicuro del motivo per cui il demone avahi NON dovrebbe chiedere ai server DNS, potrebbe essere necessario fare qualcosa con l'incompatibilità tra DNS e DNS multicast sia sulla LAN (vedi anche: .local TLD ... avendo .local
comunque una cattiva pratica)
ssh user@hostname:/folder
?