मेरे पास कई होस्ट हैं जो ओपनएसएसएच 6.6.1 पी 1 और केर्बरोस 5 संस्करण 1.14.1 के साथ सेंटोस 7.3 चला रहे हैं ।
मेरे मेजबान और उनके नेटवर्क इंटरफेस नीचे दिखाए गए हैं। होस्ट्स को उनके "प्राथमिक" होस्टनाम द्वारा सूचीबद्ध किया जाता है, जो होस्टनाम है जो होस्ट के eth0 नेटवर्क इंटरफ़ेस पर एकल आईपी पते के साथ DNS में जुड़ा हुआ है। कई नेटवर्क इंटरफेस वाले मेजबानों पर, मैं तब उन प्रत्येक नेटवर्क इंटरफेस पर एकल आईपी पते से जुड़े DNS नाम भी देता हूं।
inf.example.com
- eth0: 192.168.1.1/24
dev.example.com
- eth0: 192.168.1.2/24
cluster-1.example.com
- eth0: 192.168.1.11/24
- eth1: 192.168.10.11/24 (इस द्वितीयक नेटवर्क इंटरफ़ेस के लिए DNS A / PTR रिकॉर्ड होस्टनाम क्लस्टर -1-a.example.com का उपयोग करके स्थापित किए गए हैं)
cluster-2.example.com
- eth0: 192.168.1.12/24
- eth1: 192.168.10.12/24 (इस द्वितीयक नेटवर्क इंटरफ़ेस के लिए DNS A / PTR रिकॉर्ड होस्टनाम क्लस्टर-2-a.example.com का उपयोग करके स्थापित किए गए हैं)
inf.example.com , "इन्फ्रास्ट्रक्चर" सर्वर है, जहां DNS, LDAP, कर्बरोस की डिस्ट्रीब्यूशन सेंटर (KDC), आदि चलते हैं। ये सभी आइटम FreeIPA संस्करण 4.4.0 के उपयोग के माध्यम से एकीकृत तरीके से प्रबंधित किए जाते हैं ।
dev.example.com एक विकास मेजबान जहाँ से डेवलपर्स स्क्रिप्ट कि SSH का उपयोग पर दूरस्थ आदेश पर अमल करने के लिए चलाया जाता है cluster-1.example.com ।
आदेश पर चलाए जाने के दौरान cluster-1.example.com बदले में पर एक दूरस्थ कमांड निष्पादित करने के लिए SSH का उपयोग करता है अन्य क्लस्टर मेजबान है, लेकिन यह अपने से अधिक ऐसा नहीं करता है माध्यमिक नेटवर्क इंटरफेस (यानी अपने से अधिक 192.168.10.11 (उर्फ क्लस्टर-2-एक .example.com ) नेटवर्क इंटरफ़ेस)।
इन लिपियों को चलाने की सुविधा के लिए, मैं OpenSSH के लिए पूरी तरह से सिंगल साइन ऑन (SSO) प्राप्त करने का प्रयास कर रहा हूं।
192.168.1.0/24 पतों का उपयोग करने और SSH के लिए -K फ़्लैग का उपयोग करने के लिए मेरा Kerberos टिकट ग्रांटिंग टिकट (TGT) को होस्ट करने के लिए अग्रेषित कर रहा हूँ, तो सब कुछ ठीक चल रहा है:
user@dev$ ssh -K cluster-1.example.com
user@cluster-1$ ssh -K cluster-2.example.com
user@cluster-2 $ # Everything worked! I was never prompted to accept an SSH host key or to enter a password!
हालाँकि, यदि मैं द्वितीय एसएसएच हॉप पर द्वितीयक नेटवर्क इंटरफ़ेस का उपयोग करने की कोशिश करता हूं, तो चीजें वांछित के रूप में काम नहीं करती हैं (यानी एक तरह से जिसे मानव सहभागिता की आवश्यकता नहीं है)। विशेष रूप से, मानव संपर्क के दो संकेत होते हैं:
- मुझे सर्वर की SSH होस्ट कुंजी स्वीकार करने के लिए प्रेरित किया जाता है
- मुझे मेरे पासवर्ड के लिए संकेत दिया गया है
इन समस्याओं को नीचे देखा जा सकता है:
user@dev$ ssh -K cluster-1.example.com
user@cluster-1$ ssh -K cluster-2-a.example.com
The authenticity of host 'cluster-2-a.example.com (<no hostip for proxy command>)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'cluster-2-a.example.com' (RSA) to the list of known hosts.
Password:
यह आश्चर्य की बात नहीं है कि यह काम नहीं कर रहा है। हालाँकि, द्वितीयक नेटवर्क इंटरफेस से जुड़े IP पते और होस्टनाम DNS में A और PTR रिकॉर्ड हैं, लेकिन Kerberos में द्वितीयक नेटवर्क इंटरफेस के साथ IP पते और होस्टनाम का कोई "नामांकन" नहीं है।
कैसे कई नेटवर्क इंटरफेस / होस्टनाम / आईपी एड्रेस के साथ करबरोस में ठीक से कॉन्फ़िगर किया गया है ताकि किसी भी होस्ट होस्टनाम / आईपी पते का उपयोग करके SSH SSO को काम करने दिया जा सके?
7/31/2018 UPDATE
inf.example.com (यानी KDC) की 192.168.10.0/24 नेटवर्क पर उपस्थिति नहीं है ।
उस पर एक उपस्थिति की आवश्यकता है 192.168.10.0/24 1 के लिए की आरंभिक नामांकन) cluster-1-a.example.com और cluster-2-a.example.com या 2 के लिए) के चल रहे कार्यों क्लस्टर-1-a.example .com और क्लस्टर - 2-a.example.com ?
या, क्या सभी करबरोस ट्रैफ़िक को नामांकन करने और फिर प्राथमिक इंटरफेस (यानी 192.168.1.0/24 नेटवर्क) पर माध्यमिक नेटवर्क इंटरफेस को संचालित करने की आवश्यकता हो सकती है ?