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
la source
ssh user@hostname:/folder
?ping pc.local
?strace ssh user@foo
montrera également que ssh contacte avahi-daemon avec la demande de résolutionfoo
, 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)Réponses:
Eh bien,
*.local
ne sont pas résolus.Donc sur la machine cliente (ordinateur portable)
Installer
avahi-dnsconfd
avahi-dnsconfd
écoute l'édition et les transmetresolvconf
.Installer
libnss-mdns
(cette bibliothèque manquait, son installation a résolu le problème dans ce cas)Vérifier
/etc/nsswitch.conf
Il devrait avoir
mdns4_minimal
oumdns4
avant[NOTFOUND=return]
et avantdns
si vous avez un serveur DNS qui a configuré la résolution*.local
.Supprimez
wins
si vous n'utilisez pas winbind / samba pour résoudre les noms d'hôte de partage Windows.Redémarrer
Conseils de débogage:
Machine client (ordinateur portable)
Vérifier l'
avahi-dnsconfd
état du serviceExécuter
avahi-discover
, votre bureau doit être répertorié dans IPv4 → local → WorkstationL'exemple en capture d'écran
mx5
est mon PC où sesalah-Aspire-5738
trouve une autre machine.Voir si Avahi peut résoudre les noms d'hôtes
Test Ping
Machine serveur (bureau) , dans le cas où la
avahi-discover
machine cliente n'a pas répertorié l'entrée serveur.Confirmez qu'il
avahi-daemon
est installéavahi-daemon
fournir des services d'édition.Vérifiez son état de service
Par défaut, service de
avahi
publication_workstation._tcp
. vérifier en utilisantavahi-discover
localement, s'il n'est pas répertorié, essayez de l'activer dans/etc/avahi/avahi-daemon.conf
(supprimer#
)Redémarrez ensuite le démon:
Revérifier.
la source
avahi-discover
etavahi-dnsconfd
n'ont pas été installés sur mon netbook ou PC, donc je les ai installés sur les deux. J'ai également édité/etc/nsswitch
pour ressembler à l'exemple que vous avez fourni (auparavant, les seules entrées étaient des fichiers et des DNS), mais les deuxping
etavahi
donnent toujours la même erreur. Un autre conseil?wins
n'a pas aidé.avahi-dnsconf
est en cours d'exécution sur le netbook (même si je devais l'utilisersudo service avahi-dnsconfd
pour le répertorier, sinonservice
je répondrais avec un travail inconnu).avahi-discover
(lorsqu'il est exécuté sur mon netbook) ne liste le bureau (et correctement), à la fois sous le titre du poste de travail et la rubrique ssh. Pourtant je ne peux toujours pas cingler ou ssh dans le PC en utilisant des noms d'hôte .local. J'ai vérifié le démon sur le bureau de toute façon, etavahi-daemon
est en cours d' exécution. Des idées? (btw, merci pour tous vos conseils, je l'apprécie)avahi-resolve -4 --name yourdesktop.local
?