हल: सुनिश्चित करें कि libnss-mdns स्थापित है!
मुझे अपने नेटबुक से अपने डेस्कटॉप पर .local होस्टनाम का उपयोग करके SSH'ing का उपयोग करने में परेशानी हो रही है। हर बार, मुझे अपने द्वारा उपयोग किए गए राउटर को रीसेट करना पड़ता है, जो मेरे डिवाइसों को दिए गए पतों को रीसेट करता है, इसलिए कुछ समय पहले मैंने अवही को इसके चारों ओर स्थापित करने के लिए सेट किया है। /Etc/avahi/services/ssh.service फ़ाइल मानक है जिसे दस्तावेज़ से कॉपी किया गया है:
<?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>
यह ठीक काम करता था, लेकिन अब किसी कारण से जब मैं अपने नेटबुक से अपने डेस्कटॉप पर ssh करने की कोशिश करता हूं, तो मुझे निम्न त्रुटि संदेश मिलता है (ध्यान दें कि मैंने इस आउटपुट में अपने पीसी के होस्टनाम को बदल दिया है):
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
मैं अपने नेटबुक से अपने पीसी पर ssh कर सकता हूं जब मैं मैन्युअल रूप से आईपी पते में डालता हूं, और जब मैंने सही तरीके से सेट / आदि / होस्ट किया है (इसलिए मेरे पीसी पर डेमन ठीक काम कर रहा है), यह केवल तभी काम करना बंद कर देता है जब मैं कोशिश करता हूं .local पते का उपयोग करें। SSH'ing दूसरी दिशा में (PC-> नेटबुक) .local hostname का उपयोग करते समय भी ठीक काम करता है। अवही भी ठीक काम करती दिखाई देती हैं:
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
नेटबुक 13.10 पर चल रहा है; ध्यान दें कि मैंने हाल ही में लुबंटू में परिवर्तन किया था, और मुझे केवल लबंटू के साथ यह त्रुटि देखकर याद आया, न कि सादे उबंटू के साथ। मेरा डेस्कटॉप Ubuntu 13.10 पर चल रहा है।
किसी भी सहायता की सराहना की जाएगी!
* मुझे पता है कि मेरे राउटर को स्थायी रूप से दोनों डिवाइसों के लिए निर्धारित पते दिए जा सकते हैं, और मैं यह करूंगा कि अगर मैं इस मुद्दे को हल नहीं कर सकता, लेकिन मैं इसके बजाय काम करने की कोशिश करना और इसे ठीक करना पसंद करूंगा।
ETA: पीसी को नेटबुक से .local होस्टनाम के साथ पिंग करना (अज्ञात होस्ट) काम नहीं करता है।
संपादित 2: की सामग्री /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
यह भी दिखाएगा कि एसएचएस अवही-डेमॉन से संपर्क करने के अनुरोध के साथ foo
, जो कि समय से बाहर है ... मेरे मामले में बदल गया /etc/nsswitch.conf
: " hosts: files mdns4_minimal [NOTFOUND=return] dns
" से " hosts: files dns mdns4_minimal
" में। यह निश्चित नहीं है कि अवही डेमन को डीएनएस सर्वरों के बारे में क्यों नहीं पूछा जाना चाहिए, यह दोनों लैन पर मल्टीकास्ट डीएनएस और डीएनएस के बीच असंगति के साथ कुछ करना पड़ सकता है (यह भी देखें: .LLD TLD ... .local
वैसे भी बुरा व्यवहार है)
ssh user@hostname:/folder
?