2012-03-16 14 views
12

कुंजी ठीक से ~/.ssh/authorized_keysRedHat 6/ओरेकल लिनक्स 6 ssh के माध्यम से कुंजी प्रमाणीकरण की अनुमति नहीं दे

फिर भी ssh पासवर्ड के लिए उत्साह रहता है में तैनात किया गया है।

+1

चेक/var/log/सुरक्षित यह जानकारी होगी अगर सार्वजनिक कुंजी प्रमाणीकरण के लिए विफल रहा है। सबसे अधिक संभावना फाइलों में ~/.ssh में गलत पढ़ने/लिखने की अनुमति है। – mguymon

+0

मेरे मामले में परम ठीक थे। यह SELinux से संबंधित था, –

उत्तर

28

कई मुद्दों, ज्यादातर विशेषाधिकार - लेकिन यह भी RedHat पर SELinux से संबंधित 6

निम्न स्क्रिप्ट, उन सब को ठीक करना चाहिए कृपया अपने मिलान उपयोगकर्ता आईडी और समूह के साथ <user>:<group> की जगह

chown -R <user>:<group> ~/.ssh 
chmod 700 ~/.ssh 
chmod 600 ~/.ssh/* 
restorecon -R -v ~/.ssh 
+3

से नीचे देखें, आपको फ़ाइल अनुमतियों को विश्व पठनीय होने के लिए नहीं बदला जाना चाहिए, भले ही वे एक सुरक्षित निर्देशिका 'पुनर्स्थापना -आर-वी $ HOME/.ssh' के अंदर हों, मेरे लिए चाल क्या है – feniix

+0

हां, यह केवल मालिक का उपयोग होना चाहिए। मेरे rhel6 बॉक्स में अभी भी 600 – feniix

+0

के साथ काम करता है आपका मतलब है कि मेरा सुझाव खराब था? क्योंकि मैं देखता हूं कि आपने फ़ाइलों के लिए 600 के साथ अपनी प्रतिक्रिया संपादित की है। – feniix

1

ऊपर जवाब है काफी अच्छा, मेरे पास एक सुझाव & एक सुझाव है। अतिरिक्त नीचे पंक्ति 2 में है, क्योंकि घरेलू निर्देशिका अनुमतियां rshxr-x --- ssh कुंजी प्रमाणीकरण के लिए अधिक अनुमोदित नहीं हैं।

cd ~ 
chmod g-w,o-rwx . 
chmod 700 .ssh 
cd .ssh 
chmod 600 * 
chmod 644 authorized_keys 
chmod 644 known_hosts 
chmod 644 config 
restorecon -R -v ../.ssh 

सुझाव परीक्षण के दौरान -vv विकल्प का उपयोग करना है।

+0

आप शायद '' o-rwx'' का अर्थ है, 'u-rwx'' नहीं :) – darkk

+0

अच्छी पकड़! मेरे पास chmod/chown कमांड में 'u' और 'o' के साथ एक पुनरावर्ती निमोनिक समस्या है। 'ओ' 'अन्य' है, न कि 'मालिक'! – nortally

5

मैं मूल खाते में अधिकांश लिनक्स रूपों पर काम करने के ऊपर दिए गए परिवर्तनों से सहमत हूं। मुझे डीएसए ऑथ का उपयोग करने के लिए पोस्टग्रेस उपयोगकर्ता खाता प्राप्त करने का प्रयास करने के साथ RedHat 6.3 के साथ कोई समस्या हुई है। (6.3 वर्चुअलबॉक्स में चल रहा है)

समस्या यह हो सकती है कि मूल सेलिंकक्स अनुमतियां गलत हैं। Restorecon इस मामले में मदद नहीं करेंगे।

(After restorecon) 
drwx------. postgres postgres unconfined_u:object_r:var_lib_t:s0 .ssh 

मैं के साथ इस तय कर दी है:

chcon -R -t ssh_home_t .ssh 

यह समस्या का इस उदाहरण संकल्प लिया।

+0

मैं इस उत्तर के लिए तीन दिन खोज रहा हूं! यह तब तक नहीं था जब तक मैंने अधिकृत कुंजी फ़ाइल पर स्टेटस नहीं चलाया, जिसे मैंने फ़ाइल पर एक SELinux संदर्भ देखा था। मैंने इसे एक अलग उपयोगकर्ता के लिए एक अधिकृत कुंजी फ़ाइल से तुलना की और अंतर देखा! धन्यवाद, ग्रेग! – BamaPookie

+0

एक अतिरिक्त बिंदु मैंने खोजा: यदि आप बाद में इस .ssh निर्देशिका पर पुनर्स्थापना चलाते हैं, तो आप chcon कमांड के साथ किए गए परिवर्तनों को खो देंगे। आपको एक ऐसी पॉलिसी भी जोड़नी होगी जो फाइल सिस्टम रिलाबेल पर संदर्भ को सही तरीके से दोबारा लागू करे। मैंने निम्न आदेश के साथ ऐसा किया: semanage fcontext -a -t ssh_home_t "/path/to/service/home/.ssh(/.*)?"। (पूर्ण पथ का उपयोग करना सुनिश्चित करें।) – BamaPookie

+1

सही आदेश: semanage fcontext -a -t ssh_home_t "/path/to/service/home/\.ssh(/.*)?" – BamaPookie

1

मेरे पास भी यही समस्या थी, ऊपर प्रस्तावित समाधान ने मेरे लिए मामला हल नहीं किया। उन में/var/log/सुरक्षित फ़ाइलों के

  • अनुमति ~/.ssh निर्देशिका 600 होना चाहिए और फ़ाइलों को होना चाहिए: संक्षेप करने के निर्देश एक साथ abowe:

    1. चेक निम्न त्रुटियों के संभावित जानकारी के लिए लक्ष्य सिस्टम पर लॉगफ़ाइल स्वामित्व "उपयोगकर्ता: समूह"
    2. ~/.ssh निर्देशिका की अनुमति 700 होनी चाहिए और "उपयोगकर्ता: समूह"
    3. उपयोगकर्ता की होम निर्देशिका की अनुमति है। "~" (= "~/.ssh/..") 755 होना चाहिए। अगर अनुमतियां f.ex 775 हैं, तो ssh कुंजी autenthication मेरे सिस्टम में विफल रहा है।

    br ब्रूनो

  • +0

    क्या यह निर्देश आपके लिए मामला हल करता है? या यह सिर्फ एक संकलन है? –

     संबंधित मुद्दे

    • कोई संबंधित समस्या नहीं^_^