ssh
और host
पूरी तरह से अलग-अलग रास्तों के बाद नामों को हल करें, इसलिए यह आश्चर्य की बात नहीं है कि वे कभी-कभी अलग-अलग परिणाम देते हैं, खासकर जब नाम हल करने के लिए एक FQDN नहीं है (इसलिए हर जगह FQDNs का उपयोग करने का सुझाव।)
आप अपने ओएस और आपके सिस्टम कॉन्फ़िगरेशन के बारे में कुछ भी उल्लेख नहीं करते हैं, इसलिए मुझे इसे सामान्य रखना होगा, लिनक्स पर नज़र रखना: मैकओएस विवरण कुछ अलग हैं, और विंडोज और भी अधिक, लेकिन सामान्य अवधारणाएं समान हैं।
host
DNS को क्वेरी करता है, इसलिए मूल रूप से यह दिखता है /etc/resolv.conf
और वहां सूचीबद्ध सर्वर से पूछताछ करता है, संभवतः एक डोमेन नाम संलग्न करता है यदि होस्टनाम पहले से पूरी तरह से योग्य नहीं है। यह हर दूसरे संभावित स्रोत को नजरअंदाज करता है, लेकिन सावधान रहें कि इन दिनों कई सिस्टम एक स्थानीय कैशिंग DNS सर्वर (आमतौर पर dnsmasq
) चलाते हैं जो /etc/hosts
अन्य DNS सर्वरों को क्वेरी करने से पहले पढ़ता है और अन्य स्रोत हैं, इसलिए यदि host
स्थानीय सर्वर से पूछताछ में परिणाम /etc/hosts
रेंगना पड़ सकता है।
ssh
अपने रास्ते पर चलता है। मैं वर्णन करूंगा कि openssh
लिनक्स के तहत क्या होता है, अन्य कार्यान्वयन भिन्न होते हैं। पहले यह कॉन्फ़िगरेशन फ़ाइलों (सिस्टम-वाइड और प्रति-उपयोगकर्ता ) में परिभाषित होस्ट उपनामों की तलाश करता है , फिर यह निर्देश द्वारा निर्दिष्ट क्रम में अन्य स्रोतों की खोज करता है । कहो यह कुछ इस तरह है:/etc/ssh/ssh_config
~/.ssh/config
hosts:
/etc/nsswitch.conf
hosts: files dns
इसका मतलब है: /etc/hosts
डीएनएस को देखें और फिर ( /etc/resolv.conf
फिर से) क्वेरी करें । अन्य संभावित स्रोत अप्रचलित nis
और netinfo
सेवाएं हैं, LDAP, सक्रिय निर्देशिका, आप उनका नाम देते हैं।
अपने विशेष मामले को डीबग करने के लिए, आपको अपने कार्यान्वयन के पथ का अनुसरण करना चाहिए ssh
और यह पता लगाना चाहिए कि यह कहां फंस गया है।
storage
इंटरनेट पर एक लाइव शीर्ष-स्तरीय डोमेन है।