Gelöst: Stellen Sie sicher, dass libnss-mdns installiert ist!
Ich habe Probleme mit der Verwendung von SSH von meinem Netbook auf meinen Desktop unter Verwendung eines lokalen Hostnamens. Ab und zu muss ich den von mir verwendeten Router zurücksetzen, wodurch die Adressen zurückgesetzt werden, die er an meine Geräte weitergibt. Vor einiger Zeit habe ich Avahi eingerichtet, um dies zu umgehen *. Die Datei /etc/avahi/services/ssh.service ist die Standarddatei, die aus der Dokumentation kopiert wurde:
<?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>
Früher funktionierte das einwandfrei, aber jetzt, wenn ich versuche, von meinem Netbook auf meinen Desktop zu ssh, wird die folgende Fehlermeldung angezeigt (Hinweis: Ich habe den Hostnamen meines PCs in dieser Ausgabe geändert):
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
Ich kann von meinem Netbook auf meinen PC ssh, wenn ich die IP-Adresse manuell eingebe und / etc / hosts richtig eingerichtet habe (damit der Daemon auf meinem PC einwandfrei funktioniert), funktioniert er nur dann nicht mehr, wenn ich es versuche Verwenden Sie die lokale Adresse. SSH'ing in die andere Richtung (PC-> Netbook) funktioniert einwandfrei, auch wenn ein lokaler Hostname verwendet wird. Avahi scheint auch gut zu funktionieren:
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
Auf dem Netbook wird Lubuntu 13.10 ausgeführt. Beachten Sie, dass ich kürzlich zu Lubuntu gewechselt bin, und ich erinnere mich nur, dass ich diesen Fehler bei Lubuntu und nicht bei einfachem Ubuntu gesehen habe. Auf meinem Desktop läuft Ubuntu 13.10.
Jede Hilfe wäre dankbar!
* Ich bin mir bewusst, dass mein Router so eingerichtet werden kann, dass beiden Geräten dauerhaft festgelegte Adressen zugewiesen werden, und ich werde dies tun, wenn ich dieses Problem nicht beheben kann, aber ich würde es vorziehen, dies zu beheben, anstatt es zu umgehen.
ETA: Das Pingen des PCs vom Netbook mit dem lokalen Hostnamen funktioniert nicht (unbekannter Host).
Edit 2: Inhalt von /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
quelle
ssh user@hostname:/folder
?ping pc.local
?strace ssh user@foo
zeigt auch, dass ssh den avahi-daemon mit der Auflösungsanforderung kontaktiert, die eine Zeitüberschreitung aufweist.foo
In meinem Fall wurde Folgendes geändert/etc/nsswitch.conf
: Von "hosts: files mdns4_minimal [NOTFOUND=return] dns
" bis "hosts: files dns mdns4_minimal
". Ich bin mir nicht sicher, warum der Avahi-Daemon KEINE DNS-Server fragen soll. Möglicherweise hat er etwas mit der Inkompatibilität zwischen Multicast-DNS und DNS im LAN zu tun (siehe auch: .local TLD ....local
ist sowieso eine schlechte Praxis)Antworten:
Nun,
*.local
sind nicht gelöst.Also auf Client-Maschine (Notebook)
Installieren
avahi-dnsconfd
avahi-dnsconfd
hört sich die Veröffentlichung an und gibt sie an weiterresolvconf
.Installieren
libnss-mdns
(Diese Bibliothek fehlte. Durch die Installation wurde das Problem in diesem Fall behoben.)Prüfen
/etc/nsswitch.conf
Es sollte
mdns4_minimal
odermdns4
vor[NOTFOUND=return]
und vor haben,dns
wenn Sie einen DNS-Server haben, der die Auflösung konfiguriert hat*.local
.Entfernen
wins
Sie diese Option, wenn Sie winbind / samba nicht zum Auflösen von Windows-Freigabe-Hostnamen verwenden.Starten Sie neu
Tipps zum Debuggen:
Client-Maschine (Notebook)
Überprüfen Sie den
avahi-dnsconfd
ServicestatusAusführen
avahi-discover
, Ihr Desktop sollte unter IPv4 → lokal → Workstation aufgeführt seinBeispiel im Screenshot
mx5
ist mein PC, auf demsalah-Aspire-5738
sich eine andere Maschine befindet.Überprüfen Sie, ob Avahi Hostnamen auflösen kann
Ping-Test
Server-Computer (Desktop) , Falls
avahi-discover
auf dem Client-Computer kein Servereintrag aufgeführt ist.Bestätigen Sie, dass
avahi-daemon
installiert istavahi-daemon
Dienstleistungen veröffentlichen.Überprüfen Sie den Servicestatus
Standardmäßig
avahi
Veröffentlichungsdienst_workstation._tcp
.avahi-discover
Aktivieren Sie die Option " Lokal verwenden". Wenn nicht aufgeführt, aktivieren Sie sie in/etc/avahi/avahi-daemon.conf
(entfernen#
).Starten Sie dann den Daemon neu:
Nochmal Überprüfen.
quelle
avahi-discover
undavahi-dnsconfd
wurden nicht auf meinem Netbook oder PC installiert, also habe ich sie auf beiden installiert. Ich habe auch so bearbeitet/etc/nsswitch
, dass es wie das von Ihnen bereitgestellte Beispiel aussieht (zuvor waren die einzigen Einträge Dateien und DNS), aber beideping
undavahi
immer noch den gleichen Fehler. Noch ein Rat?wins
hat nicht geholfen.avahi-dnsconf
wird auf dem Netbook laufen (obwohl ich musste verwendesudo service avahi-dnsconfd
es zur Liste, sonstservice
mit unbekanntem Job reagieren würde).avahi-discover
(wenn auf meinem Netbook laufen) tut Liste der Desktop (und richtig), die beide unter der Workstation Überschrift und der SSH - Überschrift. Trotzdem kann ich mit .local-Hostnamen immer noch nicht pingen oder ssh in den PC. Ich habe den Dämon auf dem Desktop wie auch immer, undavahi-daemon
wird ausgeführt. Irgendwelche Ideen? (Übrigens, danke für all Ihren Rat, ich weiß das zu schätzen)avahi-resolve -4 --name yourdesktop.local
?