IP के बजाय नाम से लिनक्स से कनेक्ट करें


18

मैं लिनक्स के लिए नया हूँ (वर्तमान में Ubuntu 10.04 चल रहा है) और मैंने अभी हाल ही में अपने लिनक्स मशीन के लिए SSH की स्थापना को पूरा किया है। वर्तमान में, मुझे ssh root@x.x.x.xकनेक्ट करने के लिए उपयोग करना होगा, लेकिन कंप्यूटर के नाम (जैसे विंडोज के साथ \\name) या एक डोमेन नाम (जैसे computername.example.com) के लिए आईपी स्वैप करने में सक्षम होगा ।

मैं वास्तव में नहीं जानता कि कहां से शुरू करने के लिए कोई मदद सबसे अधिक सराहना की जाएगी। कृपया धीरे से जाएं, जैसा कि उल्लेख किया गया है - मैं अभी भी इसके लिए नया हूं।


EDIT 1

पूरी तरह से यह उल्लेख करना भूल गया कि मैं विंडोज 7 (पुट्टी के माध्यम से) से जुड़ने की कोशिश कर रहा हूं - क्षमा करें।


क्या आप अपने LAN से या दुनिया में कहीं से भी कनेक्ट करने का प्रयास कर रहे हैं?
कार्ल बेवफेल्ट्ट

6
इसके अलावा, मूल रूप से ssh के माध्यम से कनेक्शन की अनुमति देने वाले FYI को आमतौर पर एक बुरा विचार सुरक्षा-वार माना जाता है। यह एक नियमित उपयोगकर्ता के रूप में लॉग इन करने और वहाँ से su या sudo का उपयोग करने के लिए अनुशंसित है।
कार्ल बेवेलफेल्ट

मेरे LAN और दुनिया दोनों (हालाँकि मुझे लगता है कि मुझे पता है कि दुनिया की पहुंच कैसे सेट की जाए इसलिए यह सवाल LAN के लिए अधिक है) - और रूट @ किसी भी चीज़ से अधिक उदाहरण था - मैं वास्तव में एक उपयोगकर्ता का उपयोग करता हूं।
रैल

महान जवाब के भार - सभी के लिए धन्यवाद - हालांकि मुझे एक चुनना था इसलिए मैंने सबसे विस्तृत चुना।
रयाल

जवाबों:


36

वरीयता के क्रम में शून्य-विन्यास लैन खोज प्रोटोकॉल:

  • mDNS
    • मुख्य रूप से Apple उत्पादों और कुछ लिनक्स कार्यक्रमों द्वारा उपयोग किया जाता है, लेकिन विंडोज और संभवतः अन्य प्लेटफार्मों के लिए भी उपलब्ध है; आईपी ​​मल्टीकास्ट का उपयोग करता है।
    • नाम खोज और सेवा खोज दोनों प्रदान करता है।
    • होस्ट नाम हमेशा फॉर्म में होते हैं name.local
    • सॉफ्टवेयर:
      • मूल रूप से विंडोज 10.1709 और बाद में समर्थित (रजिस्ट्री के माध्यम से सक्षम होना चाहिए);
      • पुराने विंडोज पर बोंजोर ;
      • Avahi साथ nss_mdnsलिनक्स पर;
      • मूल रूप से OS X और iOS (और, माना जाता है, Android) पर समर्थित है।
  • LLMNR
    • NetBIOS नाम सेवाओं के लिए एक आधुनिक विकल्प के रूप में विंडोज विस्टा और इसके बाद के संस्करण के नाम के लिए उपयोग किया जाता है।
    • MDNS के समान, लेकिन इसमें बहुत कम विशेषताएं हैं - विशेष रूप से, सेवा खोज का अभाव है (विंडोज उस के लिए WS-Discovery प्रोटोकॉल का उपयोग करता है)।
    • नंगे होस्टनाम का उपयोग करता है (जैसे NBNS, लेकिन mDNS के विपरीत)।
    • सॉफ्टवेयर:
      • Windows Vista और बाद में मूल रूप से समर्थित;
      • systemd-resolvedसाथ nss_resolveलिनक्स पर (systemd 216 का हिस्सा)। ।
  • NetBIOS नाम सेवाएँ
    • Windows, OS / 2, MS-DOS द्वारा उपयोग किए गए पुराने NetBIOS नेटवर्क प्रोटोकॉल सूट का एक भाग ... फिर भी उपयोग में है। नए नेटवर्क पर इसका उपयोग शुरू करने का बहाना नहीं।
    • विंडोज में नाम रिज़ॉल्यूशन और (कुछ हद तक) सेवा खोज - उर्फ ​​"नेटवर्क नेबरहुड" या "मेरा नेटवर्क स्थान" प्रदान करता है।
    • IPv4 ब्रॉडकास्ट (कुछ हद तक चट्टी) का उपयोग करता है, और चटकारे को कम करने के लिए अपने स्वयं के जटिल और बेवकूफ "ब्राउज़र चुनाव" प्रोटोकॉल का उपयोग करता है। कोई IPv6 समर्थन नहीं करता है।
    • सॉफ्टवेयर:
      • Windows और OS / 2 पर मूल रूप से समर्थित;
      • nmbdसाथ nss_wins(के हिस्से के सांबा Linux और BSD के पर);
      • जाहिर है OS X इसे मूल रूप से भी समर्थन करता है?

आपके लिए अक्सर पूर्व-कॉन्फ़िगर किए गए तरीके:

  • DNS एक स्थानीय (आंतरिक) डोमेन नाम का उपयोग कर रहा है
    • होम गेटवे में स्थानीय DNS कैश के हिस्से के रूप में यह अंतर्निहित है। अक्सर यह सिर्फ नियमित होता है dnsmasq, जिसे आप लिनक्स / बीएसडी-आधारित गेटवे सेट करते समय मैन्युअल रूप से चला सकते हैं।
    • वे आपके डीएचसीपी अनुरोध से होस्टनाम लेते हैं , जैसे डोमेन के तहत dnsmasq में इसे पंजीकृत करते हैं home, और खुद को मुख्य DNS सर्वर (DNS कैश के रूप में कार्य) के रूप में पेश करते हैं।
    • अधिकांश ऑपरेटिंग सिस्टम के साथ डिफ़ॉल्ट रूप से काम करता है, लेकिन केवल डीएचसीपी के साथ (गेटवे स्टेटिक-आईपी होस्ट्स के होस्टनामों को नहीं जानता है), और आम तौर पर मेरे अनुभव में बल्कि परतदार होता है।
    • सॉफ्टवेयर:
      • मेजबानों पर एक नियमित डीएचसीपी ग्राहक। होस्टनाम विकल्प भेजना चाहिए।
      • dnsmasqप्रवेश द्वार पर। (बड़े सेटअप dhcpd+ का उपयोग कर सकते हैं named।)

मैनुअल कॉन्फ़िगरेशन वाले तरीके:

  • DNS अपने खुद के डोमेन नाम का उपयोग कर
    • हर जगह काम करता है। (वास्तव में आपको इंटरनेट से जुड़ने में मदद नहीं करेगा , हालाँकि)
    • यदि आप डीएचसीपी का उपयोग करते हैं और एक डीएनएस सर्वर को नियंत्रित करते हैं तो डायनेमिक डीएनएस संभव है; अन्यथा सभी डेटा स्थिर है।
    • एक डोमेन नाम की आवश्यकता है (जिसमें कुछ रुपये खर्च होंगे)।
  • मुक्त DNS उप डोमेन
    • अभी भी DNS, बस मुफ्त (या एक डोमेन की तुलना में बहुत सस्ता), लेकिन यह भी काफी सीमित है। FreeDNS और Dyn जैसी सेवाएं एक डोमेन के तहत व्यक्तिगत उप-डोमेन के पंजीकरण की पेशकश करती हैं जिसे वे नियंत्रित करते हैं (उदाहरण के लिए myhost.dyndns.com)।
      • रास्ता भी अक्सर, उपडोमेन पहले से ही किसी और द्वारा उठाया गया है ...
    • डायनेमिक DNS अपडेट को अक्सर अनुमति दी जाती है (DynDNS- शैली)।
  • /etc/hosts
    • एक आईपी फ़ाइल लिस्टिंग आईपी पते - hostname जोड़े, जो प्रत्येक ग्राहक मशीन पर मैन्युअल रूप से कॉन्फ़िगर किया जाना चाहिए।
    • ( %SystemRoot%\system32\drivers\etc\hostsविंडोज पर)
  • SSH विन्यास
    • PuTTY में, या ~/.ssh/configओपनएसएसएच पर "होस्टनाम" फ़ील्ड ।
    • मैन्युअल रूप से कॉन्फ़िगर किया जाना चाहिए।
  • PostIt अपने डेस्क पर सभी नोट करता है
    • बहुत सस्ता। कोई नामकरण नीति नहीं। अनंत डेटा प्रकार।
    • बल्कि अविश्वसनीय है। मैन्युअल रूप से वितरित किया जाना चाहिए। कोई भी टीटीएल, जो अक्सर किसी को नोटिस किए जाने तक महीनों के लिए बासी जानकारी के परिणामस्वरूप होती है। क्वेरी एल्गोरिदम अक्षम हैं। प्रश्नों के जवाब आसानी से खो जाते हैं, कभी-कभी आपके मॉनिटर पर केवल गोंद रिकॉर्ड छोड़ते हैं। (तीन महीने बाद, आप उन्हें अपनी मेज के पीछे बफर्ड लगा सकते हैं।)

7
हाहा, मुझे पोस्ट इट नोट्स विकल्प पसंद है :)
रयाल

1
MDNS / अवही के लिए +1। अवही कई डिस्ट्रोफ पर डिफ़ॉल्ट रूप से स्थापित है, लेकिन आपके लिए एक पैकेज स्थापित हो सकता है।
Broam

1
डेबियन में, आपको अवही को मैन्युअल रूप से स्थापित करना होगा।
मार्टिन उडिंग

2
@ अच्छा जवाब हालांकि सुधार करने के लिए एक बात: ध्यान रखें कि स्थानीय DNS / DHCP एक पंजीकृत डोमेन के बिना पूरी तरह से ठीक काम करता है। बस अपने डेस्क के नीचे रास्पबेरी पीआई फेंक दें और उदाहरण के लिए एक छोटा सर्वर सेटअप करें।
विरोधाभास

1
@ अपरॉक्सन: धन्यवाद, मैं इसका उल्लेख करना भूल गया। (अधिकांश होम गेटवे पहले से ही dnsmasq या कुछ समान लेकिन क्रैपीयर चलाते हैं।)
user1686

4

दो विकल्प।

  • सभी सेवाएं:

इसके लिए एक प्रविष्टि डालें /etc/hosts। मौजूदा पंक्तियों को न छूएं, नया जोड़ें।

  • केवल ssh:

आप जिस नाम का उपयोग करना चाहते हैं, उसके साथ एक Hostश्लोक जोड़ें ~/.ssh/config, फिर उसके नीचे वांछित विकल्प जोड़ें। man 5 ssh_configअधिक जानकारी के लिए देखें।

Host myserver
    Hostname 192.168.123.234
    Protocol 2

4

यदि आप लिनक्स बॉक्स को एक मनमाने कंप्यूटर से एक्सेस करना चाहते हैं, तो आपको एक डोमेन नाम की आवश्यकता होगी। अपने लिनक्स कंप्यूटर (या राउटर से जुड़ा हुआ है) के लिए एक डोमेन नाम को इंगित करने के लिए एक गतिशील DNS सेवा का उपयोग करें। एक बार जब आप इसे सेट करते हैं, तो यह यो को आपके लिनक्स कंप्यूटर के आईपी के बारे में चिंता नहीं करने का अतिरिक्त लाभ देगा जो कभी भी बदल रहा है।


1
बस स्पष्ट करने के लिए, कंप्यूटर का आईपी पता अभी भी बदल सकता है (इस पर निर्भर करता है कि आपका आईएसपी उस सामान को कैसे प्रबंधित करता है), लेकिन आपको इसके बारे में चिंता करने की ज़रूरत नहीं है क्योंकि डायनेमिक डीएनएस सेवा एक डोमेन नाम प्रदान करती है जो हमेशा करंट को मैप करती है। कंप्यूटर का IP पता है
डेविड जेड

4

विंडोज 7 से (आपके संपादन के अनुसार) ...

Start -> Run -> notepad c:\windows\system32\drivers\etc\hosts

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

x.x.x.x    mylinuxhostname mylinuxhostname.domain.com

फ़ाइल सहेजें, फिर इसे कमांड प्रॉम्प्ट से पिंग करने का प्रयास करें:

c:\> ping mylinuxhostname
c:\> ping mylinuxhostname.domain.com

यह केवल आपके LAN से काम करेगा। इसे "द वर्ल्ड" से जोड़ना (आपकी टिप्पणी के अनुसार) एक DNS (dyndns, godaddy, आदि) और राउटर कॉन्फ़िगरेशन (जैसे NAT) नेटवर्क एड्रेस ट्रांसलेशन एट अल से युक्त एक पूरी तरह से अलग जानवर है।


2

आप सांबा या विनबिंड की जांच करना चाहते हैं। मेरा ऑल-लिनक्स नेटवर्क (राउटर सहित) होस्टनाम द्वारा एक-दूसरे से बात कर सकता है, लेकिन मुझे यकीन नहीं है कि विंडोज को कैसे बताया जाए कि लिनक्स मशीन का नाम क्या है।


1
मेरा नेटवर्क Avahi (Zeroconf नेटवर्किंग) के कारण ऐसा करता है। मुझे विंडोज पर Zeroconf क्लाइंट / सर्वर की व्यवहार्यता का पता नहीं है।
ब्रूम

1

मैं Ubuntu 10.04 का भी उपयोग कर रहा हूं और मैं उनके नाम का उपयोग करके अपनी मशीनों से जुड़ सकता हूं। कहते हैं कि मेरे पास ernie और bert नाम के कंप्यूटर हैं जो एक ही नेटवर्क पर हैं:

मेरा संकेत ernie पर इस तरह दिखता है:

ernie:~$ 

अगर मैं इसे टाइप करता हूं:

ernie:~$ ssh root@bert.local

मैं बर्थ पर रूट हो जाऊंगा:

bert:~#

मैं दो ubuntu मशीनों के बीच ऐसा करता हूं, लेकिन मुझे लगता है कि यह पोटीन में भी काम करेगा। (मुझे उबंटू से खिड़कियों से जुड़ने के बारे में नहीं पता, सांबा के बारे में अन्य जवाब देखें।)

इसके लिए आपको उबंटू में sshd स्थापित करना होगा: sudo apt-get install openssh-server


1
यह अवही के कारण है, एक ज़र्कोनफ़ डेमन जो डिफ़ॉल्ट रूप से स्थापित है। यह विंडोज पर उसकी मदद करने के लिए नहीं जा रहा है, जब तक कि उसके पास किसी अन्य कारण से एक ग्राहक न हो (शायद आईट्यून्स एक स्थापित करता है? मैं नहीं कह सकता।)
ब्राम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.