पुट्टी केर्बरोस / जीएसएसएपीआई प्रमाणीकरण


9

मैंने RHEL6 पर sssd का उपयोग करके सक्रिय निर्देशिका Kerberos के साथ प्रमाणित करने के लिए कुछ लिनक्स सर्वरों को कॉन्फ़िगर किया है। मैंने पासवर्ड रहित लॉगिन की उम्मीद में GSSAPI प्रमाणीकरण को भी सक्षम किया।

लेकिन मैं बिना पासवर्ड के प्रमाणित करने के लिए Putty (0.63) प्राप्त नहीं कर सकता।

GSSAPI लिनक्स सिस्टम (ओपनएसएसएच क्लाइंट) के बीच काम करता है जो कि GSSAPI को सक्षम करने के लिए .ssh / config सेटिंग्स का उपयोग करके AD प्रमाणीकरण के लिए कॉन्फ़िगर किया गया है।

यह भी .ssh / config सेटिंग्स का उपयोग करने के साथ-साथ टिकट पाने के लिए kinit कमांड को चलाने के लिए Cygwin (ओपनएसएसएच क्लाइंट) से भी काम करता है।

इसके अलावा सांबा सभी लिनक्स सिस्टम पर शेयर करता है, जिसमें होम डाइरेक्टरी एक पासवर्ड की आवश्यकता के बिना विंडोज एक्सप्लोरर से काम करती है (मुझे यकीन नहीं है कि अगर जीएसएसएपीआई खेल में आता है)

मैं किस तरह की चीजों का निवारण करने की कोशिश कर सकता हूं? मेरे अधिकांश उपयोगकर्ता पुट्टी का उपयोग करते हैं। इसके अलावा, मैं विंडोज एडमिन नहीं हूं इसलिए मैं डोमेन कंट्रोलर्स पर कुछ नहीं कर सकता। मेरे खाते में केवल AD डोमेन में सर्वर जोड़ने के विशेषाधिकार हैं।


मैं पोटीन SSH पैकेट लॉगिंग चालू किया। मुझे यह दिलचस्प लगा, मुझे यकीन नहीं है कि इस जानकारी के साथ क्या करना है:

Event Log: Server version: SSH-2.0-OpenSSH_5.3
Event Log: Using SSH protocol version 2
Event Log: We claim version: SSH-2.0-PuTTY_Release_0.63
Outgoing packet #0x0, type 20 / 0x14 (SSH2_MSG_KEXINIT)
Incoming packet #0x0, type 20 / 0x14 (SSH2_MSG_KEXINIT)
Event Log: Doing Diffie-Hellman group exchange
Outgoing packet #0x1, type 30 / 0x1e (SSH2_MSG_KEX_DH_GEX_REQUEST)
Incoming packet #0x1, type 31 / 0x1f (SSH2_MSG_KEX_DH_GEX_GROUP)
Event Log: Doing Diffie-Hellman key exchange with hash SHA-256
Outgoing packet #0x2, type 32 / 0x20 (SSH2_MSG_KEX_DH_GEX_INIT)
Incoming packet #0x2, type 33 / 0x21 (SSH2_MSG_KEX_DH_GEX_REPLY)
Outgoing packet #0x3, type 21 / 0x15 (SSH2_MSG_NEWKEYS)
Event Log: Initialised AES-256 SDCTR client->server encryption
Event Log: Initialised HMAC-SHA1 client->server MAC algorithm
Outgoing raw data at 2014-11-25 00:21:08
Incoming packet #0x3, type 21 / 0x15 (SSH2_MSG_NEWKEYS)
Event Log: Initialised AES-256 SDCTR server->client encryption
Event Log: Initialised HMAC-SHA1 server->client MAC algorithm
Outgoing packet #0x4, type 5 / 0x05 (SSH2_MSG_SERVICE_REQUEST)
Incoming packet #0x6, type 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE)
...%gssapi-keyex
,gssapi-with-mic
,password.
Event Log: Using SSPI from SECUR32.DLL
Event Log: Attempting GSSAPI authentication
Outgoing packet #0x6, type 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
Incoming packet #0x7, type 60 / 0x3c (SSH2_MSG_USERAUTH_GSSAPI_RESPONSE)
Event Log: GSSAPI authentication initialised
Outgoing packet #0x7, type 61 / 0x3d (SSH2_MSG_USERAUTH_GSSAPI_TOKEN)
Incoming packet #0x8, type 61 / 0x3d (SSH2_MSG_USERAUTH_GSSAPI_TOKEN)
Event Log: GSSAPI authentication initialised
Event Log: GSSAPI authentication loop finished OK
Outgoing packet #0x8, type 66 / 0x42 (SSH2_MSG_USERAUTH_GSSAPI_MIC)
Incoming packet #0x9, type 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE)
...%gssapi-keyex
,gssapi-with-mic
,password.

1
Ssh डेमन नाइट पर डिबग चालू करना उपयोगी जानकारी दिखाता है। आप हमेशा परीक्षण के लिए एक अलग पोर्ट पर दूसरा उदाहरण शुरू कर सकते हैं।
पॉल हैडेन

जवाबों:


7

Windows मशीनें जो एक सक्रिय निर्देशिका डोमेन का हिस्सा हैं, उपयोगकर्ताओं को जब वे Windows में लॉग इन करते हैं, तो उनके Kerberos टिकट देने वाले टिकट प्राप्त करते हैं, और PuTTY प्रमाणीकरण का उपयोग करने में सक्षम होता है, यदि GSSAPI प्रमाणीकरण PuTTY कॉन्फ़िगरेशन कनेक्शन में सक्षम है। SSH | Auth: GSSAPI (और अन्य प्रमाणीकरण विधियाँ जो GSSAPI से पहले आज़माती हैं, जैसे कि Pageant के माध्यम से सार्वजनिक-कुंजी, कनेक्शन में सेट या अक्षम नहीं हैं: SSH | Auth)

[अगर आपको टिकट प्रतिनिधिमंडल की भी आवश्यकता है (जैसे, लॉगिन के बाद सर्वर पर केर्बेराइज्ड फाइल सिस्टम को माउंट करने के लिए), सुनिश्चित करें कि PuTTY में GSSAPI प्रतिनिधिमंडल भी सक्षम है, और जिस सर्वर पर आप लॉगिन करते हैं, वह प्रतिनिधि टैब में सक्रिय निर्देशिका में चिह्नित है। " किसी सेवा (केवल कर्बरोस) के प्रतिनिधिमंडल के लिए इस कंप्यूटर पर भरोसा करें ", जो कि वे डिफ़ॉल्ट रूप से नहीं हैं। AD में यह बाद का भरोसा सेटिंग अजीब तरह से केवल PuTTY जैसे विंडोज क्लाइंट से काम करने के लिए प्रतिनिधिमंडल के लिए आवश्यक है; लिनक्स "ssh -K" क्लाइंट के लिए इसकी आवश्यकता नहीं है।]

स्व-प्रबंधित (व्यक्तिगत) विंडोज मशीनों पर जो सक्रिय निर्देशिका डोमेन का हिस्सा नहीं हैं, आप अभी भी PuTTY के माध्यम से केर्बरोस / जीएसएसएपीआई प्रमाणीकरण (और टिकट प्रतिनिधिमंडल) का उपयोग कर सकते हैं, लेकिन आपको टिकट स्वयं प्राप्त करना होगा। दुर्भाग्य से, विंडोज 7 किनीट प्रोग्राम के किसी भी समकक्ष के साथ स्थापित नहीं होता है (आपके लिए मैन्युअल रूप से टिकट का अनुरोध करने के लिए), और PuTTY भी आपको अपने Kerberos पासवर्ड के लिए संकेत नहीं देता है, यदि आपके पास टिकट की कमी है। इसलिए, आपको विंडोज के लिए MIT Kerberos इंस्टॉल करना होगापैकेज, जिसमें सामान्य किनीट / klist / kdestroy कमांड-लाइन टूल, साथ ही साथ एक साफ GUI टूल "MIT कर्बरोस टिकट मैनेजर" दोनों शामिल हैं। अपने टिकट प्राप्त करने के लिए उन का उपयोग करें, और फिर PuTTY स्वचालित रूप से Microsoft SSPI एक के बजाय MIT GSSAPI पुस्तकालय का उपयोग करेगा, और यह सभी काम करना चाहिए। यदि "MIT Kerberos Ticket Manager" चल रहा है, तो जब पुट्टी को टिकट की आवश्यकता होती है, तो यह स्वचालित रूप से आपके Kerberos पासवर्ड के लिए संकेत देगा, इसलिए इसे स्टार्टअप फ़ोल्डर से लिंक करना एक अच्छा विचार है।


1
मुझे तब से पता चला है कि विंडोज में वास्तव में एमआईटी केर्बरोस kinitकमांड नामक एक तरह का समतुल्य है cmdkey
मार्कस कुह्न

1
, टिकट प्रतिनिधिमंडल को सक्षम करने के लिए यदि आप जो लोग समझते हैं कि में से एक हैं के बारे में सक्रिय निर्देशिका वास्तव में सिर्फ है माइक्रोसॉफ्ट LDAPv3 हुड के नीचे: सुनिश्चित करें कि सेवा प्रिंसिपल आप एक करबरोस टिकट को सौंपने के लिए करने के लिए अपने में है सक्षम होना चाहते हैं के LDAP प्रविष्टि userAccountControl बिट TRUSTED_FOR_DELEGATION = 0x80000 = 524288 सेट।
मार्क कुहन

FYI करें "किसी भी सेवा (केवल Kerberos)) के प्रतिनिधिमंडल के लिए इस कंप्यूटर पर विश्वास करने पर विचार करने के लिए, उदाहरण के लिए, अनियंत्रित Kerberos प्रतिनिधिमंडल, इसमें गंभीर सुरक्षा निहितार्थ हैं जिन पर आपको विचार करना चाहिए। मैं पहले adsecurity.org/?p=1667 पढ़ने की सलाह दूंगा
ब्रैड

3

पहले डबल चेक करें कि PuTTY चल रहे विंडोज बॉक्स पर आपका किस्टल आउटपुट एक वैध TGT दिखाता है। फिर अपने PuTTY सत्र के लिए कॉन्फ़िगरेशन में, सुनिश्चित करें कि प्रयास GSSAPI प्रमाणीकरण सक्षम है Connection - SSH - Auth - GSSAPI। अंत में, सुनिश्चित करें कि यह आपके उपयोगकर्ता नाम के साथ स्वचालित रूप से लॉगिन करने के लिए कॉन्फ़िगर किया गया है Connection - Data। आप या तो स्पष्ट रूप से उपयोगकर्ता नाम निर्दिष्ट कर सकते हैं या उपयोग प्रणाली उपयोगकर्ता नाम के लिए रेडियो बटन का चयन कर सकते हैं ।

ऐतिहासिक रूप से, किर्बोस के माध्यम से पासवर्डलेस एसएसएच लॉगिन कार्य करने के लिए मुझे बस इतना ही करना होगा।


1
klist tgt ऐसा लगता है जैसे यह मेरे लिए समझ में आता है। यह भी आगे है। Exchange जैसी चीज़ों के लिए klist 5 चाबियाँ दिखाता है। मेरे पास लिनक्स सर्वर के लिए एक टिकट भी है जिसे मैं ssh करने का प्रयास कर रहा हूं। मैं 100 बार पोटीन कॉन्फिग पर जा चुका हूं। सभी ऑनलाइन डॉक्स / गाइड बहुत ज्यादा एक ही बात कहते हैं तो मुझे विश्वास है कि भाग सही सेट है।
xdaxdb

3

समस्या Windows Kerberos सेटअप में थी। मुझे लगता है कि हमारी सक्रिय निर्देशिका कायरतापूर्ण है, मैं वास्तव में नहीं जानता कि मैं एक विंडोज व्यवस्थापक नहीं हूं।

लेकिन मैंने विंडोज 7 सीएलआई में केसेटअप का उपयोग करके केर्बोस को मैन्युअल रूप से कॉन्फ़िगर करके समस्या को ठीक किया।

अपने दूरस्थ कार्य केंद्र पर रीबूट करने के बाद मैं अपने पीसी में लॉग इन नहीं कर सका। ऐसा इसलिए है क्योंकि मूल कॉन्फ़िगरेशन में मेरे दायरे के डोमेन का TLD हिस्सा हमेशा अनुपस्थित था (डोमेन \ उपयोगकर्ता) लेकिन मैंने इसे मैन्युअल रूप से कॉन्फ़िगर करने के बाद मुझे पूर्ण दायरे के डोमेन नाम (domain.TLD \ user) को प्रतिबिंबित करने के लिए अपना लॉगिन डोमेन बदलना पड़ा और मैं अपने विंडोज पीसी में लॉग इन करने में सक्षम था, हालांकि अब प्रमाणित होने में अधिक समय लगता है।

बदलावों से पहले ksetup का आउटपुट केवल मेरा डिफ़ॉल्ट क्षेत्र दिखाता था, और यह निम्न स्थिति में था।

मैंने अपने क्षेत्र के सभी kdc सर्वर प्राप्त करने के लिए "nslookup -type = SRV _kerberos._tcp.domain.TLD" का उपयोग किया।

मैंने कोई झंडे नहीं लगाए।

मैंने अपना उपयोगकर्ता नाम "ksetup / mapuser user@domain.TLD उपयोगकर्ता" सेट किया

मेरे द्वारा उपयोग किए गए संसाधन: https://wiki.ncsa.illipedia.edu/display/ITS/Windows+7+Kerberos+Login+using+External+Kerberos+KDC

https://www.cgl.ucsf.edu/Security/CGLAUTH/CGLAUTH.html

अगर किसी के पास कोई सुझाव है तो मैं विंडोज एडमिन लोगों को दे सकता हूं कि वे इसे कैसे ठीक कर सकते हैं (क्या यह टूट गया है?) मैं इसे पास करूंगा।

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