SSH ve Avahi kullanarak sorun


10

Çözüldü: libnss-mdns'in kurulu olduğundan emin olun!

Netbook'umdan bir .local hostname kullanarak masaüstüme SSH kullanmakta sorun yaşıyorum. Sık sık kullandığım yönlendiriciyi sıfırlamam gerekiyor, bu da aygıtlarıma verdiği adresleri sıfırlıyor, bu yüzden bir süre önce Avahi'yi bu sorunu aşacak şekilde ayarladım *. /Etc/avahi/services/ssh.service dosyası, belgelerden kopyalanan standart dosyadır:

<?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>

Bu iyi çalışıyor, ama şimdi nedense netbook'umdan masaüstüne ssh denemeye çalıştığımda, aşağıdaki hata mesajını alıyorum (bu çıktıda bilgisayarımın ana bilgisayar adını değiştirdim):

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

IP adresini manuel olarak koyduğumda netbook'umdan PC'ye ssh yapabilirim ve / etc / hosts'i doğru bir şekilde kurduğumda (böylece bilgisayarımdaki arka plan programı iyi çalışıyor), sadece denediğimde çalışmayı durduruyor .local adresini kullanın. Diğer yöndeki (PC-> netbook) SSH'leme, .local ana bilgisayar adı kullanıldığında bile iyi çalışır. Avahi de iyi çalışıyor gibi görünüyor:

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

Netbook Lubuntu 13.10'u çalıştırıyor; Son zamanlarda Lubuntu olarak değiştirdiğimi ve bu hatayı sadece Ubuntu ile değil Lubuntu ile gördüğümü hatırlıyorum. Masaüstümde Ubuntu 13.10 çalışıyor.

Herhangi bir yardım mutluluk duyacağız!

* Yönlendiricimi her iki cihaza da kalıcı olarak ayar adresi verecek şekilde ayarlayabileceğinin farkındayım ve bu sorunu çözemezsem bunu yapacağım, ancak bunun etrafında çalışmak yerine bunu denemeyi ve düzeltmeyi tercih ederim.

ETA: PC'yi .local ana bilgisayar adıyla netbook'tan ping işlemi çalışmıyor (bilinmeyen ana bilgisayar).

Edit 2: İçeriği /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

Bir süredir DHCP veya Avahi kullanmadım ama yapamaz mısın ssh user@hostname:/folder?
Alex

Ping testi geçti ping pc.localmi?
user.dz

1
@Alex: İdeal olarak yapmak istediğim şey bu, ancak postta her zaman belirttiğim gibi, yönlendiriciyi sıfırlamak zorundayım, verdiği adresleri sıfırlıyor, yani değiştireceğim / etc / hosts düzenli olarak dosyaları, bu yüzden Avahi kurduk.
thatSeniorGuy

1
@Sneetsher: Sadece denedim ve yapmıyor: "ping: bilinmeyen ana bilgisayar pc.local."
ThatSeniorGuy

Koşu strace ssh user@fooda ssh çözme isteği ile avahi-daemon temas olduğunu gösterir foo, hangi zaman aşımına ... Benim durumumda değişti /etc/nsswitch.conf: " hosts: files mdns4_minimal [NOTFOUND=return] dns" den " hosts: files dns mdns4_minimal". Avahi arka plan programının neden DNS sunucularına sormaması gerektiği konusunda emin değilim, LAN'da çok noktaya yayın DNS ve DNS arasındaki uyumsuzluk ile ilgili bir şeyler yapmak zorunda kalabilir (ayrıca bkz. .local
.Local

Yanıtlar:


11

Eh, *.localçözülmüş değildir.

Böylece istemci makine (dizüstü bilgisayar)

  1. Yüklemek avahi-dnsconfd

    sudo apt-get install avahi-daemon avahi-dnsconfd avahi-discover avahi-utils
    

    avahi-dnsconfdyayınları dinler ve yayınlar resolvconf.

  2. Yükle libnss-mdns (Bu kütüphane eksik, Yükleme bu durumda sorunu çözdü)

    sudo apt-get install libnss-mdns
    

    nss-mdns, GNU C Kütüphanesi'nin (glibc), Çok Noktaya Yayın DNS aracılığıyla ana bilgisayar adı çözümlemesi sağlayan (Zeroconf, diğer adıyla Apple Bonjour / Apple Rendezvous) GNU Ad Hizmeti Anahtarı (NSS) işlevselliği için bir eklentidir ve ortak Unix tarafından ad çözümlemesine etkin bir şekilde izin verir / Ad-hoc mDNS etki alanı .local içindeki Linux programları

  3. Kontrol /etc/nsswitch.conf

    hosts:     files wins mdns4_minimal dns [NOTFOUND=return] mdns4
    

    Çözüm yapılandırılmış bir DNS sunucunuz varsa mdns4_minimalveya mdns4öncesinde [NOTFOUND=return]ve öncesinde olmalıdır .dns*.local

    Kaldır winsWindows payı konak isimlerini çözümlemek için winbind / samba kullanmıyorsanız.

  4. Yeniden Başlatma


Hata ayıklama ipuçları:

  • İstemci makinesi (Dizüstü bilgisayar)

    1. avahi-dnsconfdHizmet durumunu kontrol etme

      $ service avahi-dnsconfd status
      avahi-dnsconfd start/running, process 1548
      
    2. Çalıştırın avahi-discover, Masaüstünüz IPv4 → yerel → İş İstasyonu'nda listelenmelidir

      Ekran görüntüsünde örnek olarak başka bir makine olan mx5bilgisayarım salah-Aspire-5738verilebilir.

      resim açıklamasını buraya girin

    3. Avahi'nin ana bilgisayar adlarını çözüp çözemeyeceğini görün

      avahi-resolve -4 --name yourdesktop.local
      
    4. Ping testi

      $ ping salah-Aspire-5738.local
      PING salah-Aspire-5738.local (192.168.1.3) 56(84) bytes of data.
      64 bytes from salah-Aspire-5738.local (192.168.1.3): icmp_seq=1 ttl=64 time=2.69 ms
      
  • Sunucu makinesi (Masaüstü) , avahi-discoverİstemci makinesinde Sunucu girişini listelememişse.

    1. avahi-daemonYüklü olduğunu onaylayın

      sudo apt-get install avahi-daemon avahi-dnsconfd avahi-discover avahi-utils
      

      avahi-daemon hizmet yayıncılığı sağlamak.

    2. Servis durumunu kontrol edin

      $ service avahi-daemon status
      avahi-daemon start/running, process 1517
      
    3. Varsayılan olarak avahiyayınlama _workstation._tcphizmeti. avahi-discoveryerel olarak kullanarak kontrol edin , listelenmemişse etkinleştirmeyi deneyin /etc/avahi/avahi-daemon.conf(kaldır #)

      publish-workstation=yes
      

      Ardından daemon'u yeniden başlatın:

      sudo service avahi-daemon restart
      

      Tekrar kontrol et.


Maalesef şans yok. avahi-discoverve avahi-dnsconfdnetbook'uma veya PC'ye yüklenmediği için her ikisine de yükledim. Ben de düzenlenebilir /etc/nsswitchVerdiğiniz numunenin (daha önce sadece girişleri dosya ve dns idi) ama hem böyle görünüme pingve avahihala aynı hatayı verir. Başka tavsiye var mı?
thatSeniorGuy

Arrgh, bu son derece şaşırtıcı.
thatSeniorGuy

Kaldırma işlemi winsyardımcı olmadı. avahi-dnsconf olduğu (I kullanmak zorunda olsa netbook üzerinde çalışan sudo service avahi-dnsconfdlisteleyebilmemiz aksi takdirde servicebilinmeyen işle yanıt vereceğini). avahi-discover(benim netbook çalıştırdığınızda) yapar İş İstasyonu başlığı ve SSH başlığı altında hem liste masaüstü (ve doğru). Yine de .local ana bilgisayar adlarını kullanarak pc'ye ping veya ssh yapamıyorum. Zaten masaüstünde cini kontrol ve avahi-daemon edilir çalışan. Herhangi bir fikir? (btw, tüm tavsiyeleriniz için teşekkürler, minnettarım)
thatSeniorGuy

@thatSeniorGuy, avahi-resolve -4 --name yourdesktop.local?
user.dz

1
Yüklenmedi. Yükledi ve çalıştı !!!!!!!!! Yardımın için çok teşekkür ederim! Belki bunu başkalarına biraz daha kolay görebilmesi için yayınınıza ekleyin.
thatSeniorGuy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.