ssh: होस्टनाम हल नहीं कर सका [hostname]: नोडनेम और न ही सेवनाम, या ज्ञात नहीं


131

मैं एक रास्पबेरी पाई के साथ एक वीपीएन स्थापित करने की कोशिश कर रहा हूं, और पहला कदम sshअपने स्थानीय नेटवर्क के बाहर से डिवाइस में क्षमता प्राप्त कर रहा है । जो भी कारण के लिए, यह असंभव साबित हो रहा है और मुझे मामूली सुराग क्यों नहीं मिला है। जब मैं sshअपने सर्वर में आने की कोशिश करता हूं user@hostname, मुझे त्रुटि मिलती है:

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known 

हालाँकि, मैं सर्वर में लॉग इन कर सकता हूं,

ssh user@[local IP]

सर्वर एक रास्पबेरी पाई मॉडल बी है जो रास्पबियन के नवीनतम वितरण को चला रहा है और जिस मशीन से मैं इसे जोड़ने की कोशिश कर रहा हूं वह मैकबुक प्रो रनिंग मैवरिक्स है। sshरास्पबेरी पाई पर सक्षम किया गया था जब मैंने रास्पियन की स्थापना की।

मैंने कई घंटों तक स्टैक ओवरफ्लो का अवलोकन किया, यह देखने की कोशिश की कि क्या किसी और को यह समस्या थी और मुझे कुछ नहीं मिला। sshमुझे मिलने वाला प्रत्येक ट्यूटोरियल कहता है कि मुझे बस इसे दूरस्थ मशीन पर सेट करने में सक्षम होना चाहिए और होस्टनाम का उपयोग करके कहीं से भी लॉग इन करना चाहिए, और मुझे कभी भी इसके साथ सफलता नहीं मिली।


मूल त्रुटि विशिष्ट मुद्दे की ओर इशारा कर रही है - [hostname]आप जो भी उपयोग कर रहे हैं उसे हल नहीं किया जा सकता है जहां से आप इसे कोशिश कर रहे हैं। क्या nslookup [hostname]आप वापस दे [local IP]रहे हैं आप उम्मीद कर रहे हैं?
20:27

2
nslookup [hostname]उगल देना; सर्वर: 8.8.8.8 पता: 8.8.8.8 # 53 ** सर्वर को [hostname] नहीं मिल सकता है: मेरी मैकबुक से चलने पर NXDOMAIN
qaxf6auux

2
बस सुनिश्चित करने के लिए - आप एक वास्तविक होस्टनाम में डाल रहे हैं [hostname], है ना?
प्रवेश किया

वह आउटपुट दिखाता है कि आप Google के सार्वजनिक DNS सर्वर (एस) का उपयोग कर रहे हैं, जिसे आपके द्वारा उपयोग किए जा रहे किसी भी होस्टनाम का कोई ज्ञान नहीं है। आप अपने होस्टनाम के लिए DNS रिकॉर्ड कैसे स्थापित कर रहे हैं?
प्रवेश किया

2
Server: 192.168.0.1 Address: 192.168.0.1#53 ** server can't find mrddr: NXDOMAIN
Nakilon

जवाबों:


29

हाल ही में मैं एक ही मुद्दे पर आया था। मैं अपने नेटवर्क पर अपने पीआई को ssh करने में सक्षम था, लेकिन अपने होम नेटवर्क के बाहर से नहीं।

मैंने पहले ही कर लिया था:

  • मेरे घर नेटवर्क पर स्थापित और परीक्षण किए गए ssh।
  • मेरे pi के लिए एक स्थिर IP सेट करें।
  • डायनेमिक DNS सर्विस सेट करें और मेरे पाई पर सॉफ्टवेयर इंस्टॉल करें। मैंने स्थैतिक आईपी की स्थापना के लिए इन निर्देशों का उल्लेख किया है , और वहाँ कई और अधिक अनुदेशात्मक संसाधन हैं।

इसके अलावा, मैंने एक वेब साइट की मेजबानी के लिए अपने राउटर पर पोर्ट आगे सेट किया था और मैंने अपने पीआई के स्टेटिक आईपी के लिए 22 के लिए पोर्ट फॉरवर्ड पोर्ट भी किया था, लेकिन मैंने उस क्षेत्र को खाली छोड़ दिया, जहां आप उस एप्लिकेशन को निर्दिष्ट करते हैं, जिसके लिए आप पोर्ट फॉरवर्ड कर रहे हैं। राउटर। वैसे भी, मैंने इस क्षेत्र में 'ssh' जोड़ा और, VOILA! मेरे पी के लिए कहीं से भी एक काम कर रहा ssh कनेक्शन।

मैं अपने राउटर के पोर्ट फ़ॉरवर्डिंग सेटिंग्स लिखूंगा।

(ApplicationTextField) _ssh (बाहरी पोर्ट) _22 (आंतरिक पोर्ट) _22 (प्रोटोकल) _Both (IP पते के लिए) _192.168.1। ### (सक्षम) _checkBox।

पोर्ट फ़ॉरवर्डिंग सेटिंग्स अलग-अलग राउटर के लिए अलग-अलग हो सकती हैं, लेकिन अपने राउटर के लिए निर्देश देखें।

अब, जब मैं अपने होम नेटवर्क के बाहर होता हूं तो मैं टाइप करके अपने पीआई से जुड़ जाता हूं:

ssh pi @ [hostname]

फिर मैं अपना पासवर्ड डालने और कनेक्ट करने में सक्षम हूं।


109

यदि आप मैक पर हैं, तो DNS उत्तरदाता को पुनरारंभ करने से मेरे लिए समस्या ठीक हो गई।

sudo killall -HUP mDNSResponder

मुझे पिंग, nslookup और डोमेन खोदने की भी आवश्यकता थी। निश्चित नहीं कि इनमें से किसने मदद की। शायद बस इंतजार करने से मदद मिली।
समिज्दिस

मेरे लिए भी काम किया..तो मेरे मैक को रीस्टार्ट करने के बाद यह समस्या शुरू हुई..पता नहीं कि बूट के दौरान क्या गड़बड़ हुई
मुरली

1
मैं यह जानने के लिए उत्सुक हूं कि यह क्यों काम करता है ... और पहली जगह में समस्या क्या है।
रहस्यवादी कोला

यदि nslookupकाम करता है, लेकिन ssh / ping / जो कुछ भी नहीं करता है, यह समस्या को ठीक करता है। धन्यवाद।
एरिक बी

93

मेरे पास रिमोट मशीन से जुड़ने का एक ही मुद्दा था। लेकिन मैं नीचे के रूप में लॉगिन करने में कामयाब रहा:

ssh -p 22 myName@hostname

या:

ssh -l myName -p 22 hostname

1
अंत में यह काम करता है! वाक्यविन्यास के साथ एक बग होना चाहिएssh myName@hostname:myPort
एडोआर्डो

10

यदि आपको दुनिया में कहीं से भी अपने वीपीएन तक पहुंचने की आवश्यकता है तो आपको एक डोमेन नाम पंजीकृत करने की आवश्यकता है और यह आपके वीपीएन / नेटवर्क गेटवे के सार्वजनिक आईपी पते की ओर इशारा करता है। आप एक होस्टनाम को अपने सार्वजनिक आईपी से कनेक्ट करने के लिए एक डायनेमिक डीएनएस सेवा का भी उपयोग कर सकते हैं।

यदि आपको केवल अपने मैक से अपने रास्पबेरी के लिए अपने स्थानीय नेटवर्क के अंदर ssh करने की आवश्यकता है , तो यह करें: अपने मैक पर, संपादित करें /etc/hosts। रास्पबेरी का मानना ​​है कि होस्टनाम "बेरी" और आईपी "172.16.0.100" है, एक पंक्ति जोड़ें:

# ip           hostname
172.16.0.100   berry

अब: ssh user@berryकाम करना चाहिए।


उपरोक्त के अलावा, मैंने अपने सर्वर-यूआरएल के लिए आईपी जानने के लिए "विंडोज़-सीएमडी" का उपयोग किया। मैंने आईपी प्राप्त करने के लिए "पिंग उरल" किया। और इसलिए, "/ etc / मेजबान" में IP और URL जोड़ा। यह पूरी तरह से वहाँ काम करता है (गिट पुल, आदि) के बाद!
पराग

9

मेरे पास एक ही मुद्दा था, जिसे मैं मेजबान नाम, अला से जोड़कर हल करने में सक्षम था ssh user@hostname.local


वो मेरे लिए किया गया। ping $(hostname)काम कर रहा था, लेकिन करने की जरूरत है ssh $(hostname).local। मैक आमतौर पर महान है .. लेकिन जब यह बेकार है, यह वास्तव में करता है ..
javadba

मेरे पास एक और मुद्दा है: hadoopकरने की आवश्यकता है ssh user@hostnameऔर मैं केवल मैन्युअल रूप से नहीं जोड़ .localसकता। मैं फँस गया हूँ
javadba

जोड़ना .localउबंटू 19.10 पर मेरे लिए ऐसा किया।
prkos

5

मेरे मामले में मैं इस तरह से कोशिश कर रहा था

ssh pedro@192.168.2.179:22 

जब सही प्रारूप है:

ssh pedro@192.168.2.179 -p 22 

1
वाह - हमेशा के लिए पोर्ट फ़ॉरवर्डिंग के साथ अटक गया था! यह पवित्र ग्रन्थ है।
फ्रोजनऑन

4

यदि आपकी आज्ञा है:

$ ssh -p 1122  path/to/pemfile user@[hostip/hostname]

आपको भी उसी त्रुटि का सामना करना पड़ेगा

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known

जब आप -i /path/to/pemfilessh का विकल्प याद करते हैं

तो कमांड होनी चाहिए:

$ ssh -p 1122 -i path/to/pemfile user@[hostip/hostname]

मैं pemfile विकल्पों का उपयोग नहीं किया था, लेकिन अभी भी जुड़ा का उपयोग करssh -p xxxx user@hostname
योकू

4

मुझे दूरस्थ अमेज़ॅन सर्वर से कनेक्ट करने की आवश्यकता थी

ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 ubuntu@hostname.com

मुझे निम्नलिखित त्रुटि मिल रही थी।

ssh: Could not resolve hostname <hostname.com>: nodename nor servname provided, or not known

मैक OSX के लिए समाधान

मेजबान को पिंग करने से समस्या हल हो गई। मैं मैक OSX सीरा का उपयोग कर रहा हूं।

ping hostname.com

अब समस्या का समाधान सर्वर से कनेक्ट करने में सक्षम।

नोट : मैंने इस समाधान की भी कोशिश की । लेकिन यह काम नहीं किया। फिर pingमसला हल किया।


3

मुझे भी यही समस्या थी: वरीयताएँ में दिखाया गया पता -> साझा करना -> दूरस्थ लॉगिन काम नहीं करता था और मुझे एक '... नोडनेम और न ही सेवनाम प्रदान किया गया था, या ज्ञात नहीं था'। हालाँकि, जब मैंने मैन्युअल रूप से सेटिंग्स को संपादित किया था (वरीयताएँ -> साझाकरण -> दूरस्थ लॉगिन -> संपादन) और सक्षम "गतिशील वैश्विक होस्टनाम का उपयोग करें", यह अचानक काम आया।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें


3

ऐसा लगता है कि कुछ ऐप्स सिमिलिंक नहीं किए जाएंगे /etc/hosts( macOS पर कम से कम), आपको इसे हार्डलिंक करना होगा।

ln /path/to/hosts_file /etc/hosts


2

यह मेरे साथ तब हो रहा था जब गीथूब तक पहुँचने की कोशिश कर रहा था। समस्या यह है कि मैं करने की आदत में था:

git remote add <xyz> ssh:\\git@github.com......

लेकिन, यदि आपको प्रश्न से यह त्रुटि हो रही है, तो हटाने ssh:\\से समस्या हल हो सकती है। इसने मेरे लिए इसे हल कर दिया!

ध्यान दें कि आपको git remote remove <xyz>बिना दूरस्थ url के पुनः a और जोड़ना होगा ssh:\\


1
क्या आपने वास्तव में ssh:\\इसके बजाय उपयोग किया था ssh://?
रेडॉन रोसबोरो

@RadonRosborough यह कुछ समय पहले था ... इसलिए, मुझे यकीन नहीं है। हो सकता है! :)
मोंकपीट

1

मेरे लिए, समस्या मेरी ~/.ssh/configफ़ाइल पर एक टाइपो थी । मैं था:

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

समस्या के :बाद था host1- यह नहीं होना चाहिए। फ़ाइल sshमें टाइपोस के लिए कोई चेतावनी नहीं देता है ~/.ssh/config। जब यह नहीं मिल host1सकता है यह मशीन के लिए स्थानीय रूप से दिखता है, यह नहीं मिल सकता है और गुप्त त्रुटि संदेश प्रिंट करता है।


0

अपने अनुमत बंदरगाहों को देखते हुए, यह कोशिश करें। उदाहरण के लिए अपनी .pemफ़ाइल को अपने Documentsफ़ोल्डर में संग्रहीत करें।

इसे प्राप्त करने के लिए अब आपको बस इतना करना है cd [directory], जो आपको आवंटित फ़ाइल की निर्देशिका में ले जाता है। आप lsवर्तमान में जिस निर्देशिका सामग्री को सूचीबद्ध करने के लिए पहले टाइप कर सकते हैं:

ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" ec2-user@ec2-1-2-3-4.us-compass-0.compute.amazonaws.com -p 80

0

मुझे यह त्रुटि आयल में एक .yml इन्वेंट्री फ़ाइल का उपयोग करके मिली है जो ठीक से स्वरूपित नहीं की गई थी। एक समूह में कई मेजबानों के लिए, प्रत्येक होस्टनाम को एक कठिन बृहदान्त्र में समाप्त होने की आवश्यकता है ":"। अन्यथा ansible होस्ट नामों को एक साथ चलाता है और यह ssh त्रुटि उत्पन्न करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.