Résolu: assurez-vous que libnss-mdns est installé!
J'ai du mal à utiliser SSH depuis mon netbook sur mon bureau en utilisant un nom d'hôte .local. De temps en temps, je dois réinitialiser le routeur que j'utilise, ce qui réinitialise les adresses qu'il donne à mes appareils, donc il y a quelque temps, j'ai configuré Avahi pour contourner ce problème *. Le fichier /etc/avahi/services/ssh.service est le fichier standard copié à partir de la documentation:
<?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>
Cela fonctionnait bien, mais maintenant, pour une raison quelconque, lorsque j'essaie de passer de mon netbook à mon bureau, je reçois le message d'erreur suivant (notez que j'ai changé le nom d'hôte de mon PC dans cette sortie):
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
Je peux ssh depuis mon netbook vers mon PC lorsque je saisis l'adresse IP manuellement et que j'ai configuré correctement / etc / hosts (donc le démon sur mon PC fonctionne correctement), il ne fonctionne que lorsque j'essaie de utilisez l'adresse .local. SSH dans l'autre sens (PC-> netbook) fonctionne très bien, même lorsque vous utilisez un nom d'hôte .local. Avahi semble également fonctionner correctement:
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
Le netbook exécute Lubuntu 13.10; notez que j'ai changé pour Lubuntu récemment, et je me souviens seulement d'avoir vu cette erreur avec Lubuntu et pas avec Ubuntu. Mon bureau exécute Ubuntu 13.10.
Toute aide serait appréciée!
* Je suis conscient que je peux configurer mon routeur pour donner en permanence des adresses définies aux deux appareils, et je le ferai si je ne peux pas résoudre ce problème, mais je préfère essayer de résoudre ce problème plutôt que de le contourner.
ETA: exécuter une commande ping sur le PC à partir du netbook avec le nom d'hôte .local ne fonctionne pas (hôte inconnu).
Edit 2: Contenu de /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
montrera également que ssh contacte avahi-daemon avec la demande de résolution foo
, ce qui arrive à expiration ... Dans mon cas, changé en /etc/nsswitch.conf
: De " hosts: files mdns4_minimal [NOTFOUND=return] dns
" à " hosts: files dns mdns4_minimal
". Je ne sais pas pourquoi le démon avahi est censé ne PAS demander aux serveurs DNS, il peut avoir à faire quelque chose avec l'incompatibilité entre DNS multicast et DNS à la fois sur le LAN (voir aussi: .local TLD ... avoir une .local
mauvaise pratique de toute façon)
ssh user@hostname:/folder
?