Resuelto: ¡ asegúrese de que libnss-mdns esté instalado!
Tengo problemas para usar SSH'ing desde mi netbook a mi escritorio usando un nombre de host .local. De vez en cuando, tengo que restablecer el enrutador que uso, lo que restablece las direcciones que proporciona a mis dispositivos, por lo que hace un tiempo configuré Avahi para solucionar esto *. El archivo /etc/avahi/services/ssh.service es el estándar copiado de la documentación:
<?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>
Esto solía funcionar bien, pero ahora, por alguna razón, cuando trato de ssh desde mi netbook a mi escritorio, recibo el siguiente mensaje de error (tenga en cuenta que cambié el nombre de host de mi PC en esta salida):
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
Puedo ingresar ssh desde mi netbook a mi PC cuando ingreso la dirección IP manualmente, y cuando configuro / etc / hosts correctamente (para que el daemon en mi PC funcione bien), solo deja de funcionar cuando intento usa la dirección .local. SSH'ing en la otra dirección (PC-> netbook) funciona bien, incluso cuando se utiliza un nombre de host local. Avahi también parece estar funcionando bien:
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
El netbook ejecuta Lubuntu 13.10; tenga en cuenta que cambié a Lubuntu recientemente, y solo recuerdo haber visto este error con Lubuntu y no con Ubuntu simple. Mi escritorio ejecuta Ubuntu 13.10.
¡Cualquier ayuda sería apreciada!
* Soy consciente de que puedo configurar mi enrutador para proporcionar direcciones establecidas de forma permanente a ambos dispositivos, y lo haré si no puedo resolver este problema, pero preferiría intentar solucionarlo en lugar de solucionarlo.
ETA: Hacer ping a la PC desde la netbook con el nombre de host .local no funciona (host desconocido).
Edición 2: Contenido 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
fuente
ssh user@hostname:/folder
?ping pc.local
?strace ssh user@foo
también mostrará que ssh contacta a avahi-daemon con la solicitud de resoluciónfoo
, que agota el tiempo de espera ... En mi caso cambió en/etc/nsswitch.conf
: De "hosts: files mdns4_minimal [NOTFOUND=return] dns
" a "hosts: files dns mdns4_minimal
". No estoy seguro de por qué se supone que avahi daemon NO debe preguntar a los servidores DNS, es posible que tenga que hacer algo con la incompatibilidad entre DNS de multidifusión y DNS en la LAN (ver también: .local TLD ... tener.local
es una mala práctica de todos modos)Respuestas:
Bueno,
*.local
no se resuelven.Así en la máquina del cliente (portátil)
Instalar en pc
avahi-dnsconfd
avahi-dnsconfd
escucha la publicación y se los pasaresolvconf
.Instalar
libnss-mdns
(faltaba esta biblioteca, instalarlo solucionó el problema en este caso)Cheque
/etc/nsswitch.conf
Debe tener
mdns4_minimal
omdns4
antes[NOTFOUND=return]
y antesdns
si tiene un servidor DNS que configuró resolver*.local
.Elimine
wins
si no está utilizando winbind / samba para resolver nombres de host compartidos de Windows.Reiniciar
Sugerencias de depuración:
Máquina cliente (portátil)
Verificar el
avahi-dnsconfd
estado del servicioEjecute
avahi-discover
, su escritorio debe aparecer en IPv4 → local → Estación de trabajoEjemplo en la captura de pantalla
mx5
es mi PC, dondesalah-Aspire-5738
hay otra máquina.Vea si Avahi puede resolver nombres de host
Prueba de ping
Máquina del servidor (escritorio) , en caso
avahi-discover
de que la máquina del cliente no enumere la entrada del servidor.Confirme que
avahi-daemon
está instaladoavahi-daemon
Brindar servicios de publicación.Verifique su estado de servicio
Por defecto
avahi
publicar_workstation._tcp
servicio. compruebe usandoavahi-discover
localmente, si no está en la lista intente habilitarlo en/etc/avahi/avahi-daemon.conf
(eliminar#
)Luego reinicia el demonio:
Revisar otra vez.
fuente
avahi-discover
yavahi-dnsconfd
no estaban instalados en mi netbook o PC, así que los instalé en ambos. También edité/etc/nsswitch
para que se parezca a la muestra que proporcionó (anteriormente las únicas entradas eran archivos y dns), pero ambasping
yavahi
todavía dan el mismo error. ¿Algún consejo más?wins
no ayudó.avahi-dnsconf
se está ejecutando en el netbook (aunque tuve que usarlosudo service avahi-dnsconfd
para enumerarlo, de lo contrarioservice
respondería con un trabajo desconocido).avahi-discover
(cuando se ejecuta en mi netbook) hace la lista del escritorio (y correcta), ambos bajo el título de estación de trabajo y el encabezamiento ssh. Sin embargo, todavía no puedo hacer ping o ssh en la PC usando nombres de host .local. Revisé el demonio en el escritorio de todos modos, y seavahi-daemon
está ejecutando. ¿Algunas ideas? (por cierto, gracias por todos sus consejos, lo agradezco)avahi-resolve -4 --name yourdesktop.local
?