सवाल काम करने के लिए एसएसएच सार्वजनिक कुंजी प्रमाणीकरण नहीं मिल सकता [बंद]


मेरा सर्वर CentOS 5.3 चला रहा है। मैं एक मैक चल रहा तेंदुए पर हूँ। मुझे नहीं पता कि इसके लिए कौन सा जिम्मेदार है:

मैं पासवर्ड प्रमाणीकरण के माध्यम से बस अपने सर्वर पर लॉग ऑन कर सकता हूं। मैं पीकेए की स्थापना के लिए सभी चरणों से गुजर चुका हूं (जैसा कि वर्णन किया गया है http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-ssh-beyondshell.html), लेकिन जब मैं एसएसएच का उपयोग करता हूं, तो यह प्रकाशनिक सत्यापन का भी प्रयास करने से इंकार कर देता है। कमांड का प्रयोग करना

ssh -vvv user@host

(जहां -vvv अधिकतम स्तर तक वर्बोसिटी को क्रैंक करता है) मुझे निम्न प्रासंगिक आउटपुट मिलता है:

debug2: key: /Users/me/.ssh/id_dsa (0x123456)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred keyboard-interactive,password
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

मेरे पासवर्ड के लिए एक संकेत के बाद। अगर मैं इस मुद्दे को मजबूर करने की कोशिश करता हूं

ssh -vvv -o PreferredAuthentications=publickey user@host

मुझे मिला

debug2: key: /Users/me/.ssh/id_dsa (0x123456)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred publickey
debug3: authmethod_lookup publickey
debug3: No more authentication methods to try.

तो, भले ही सर्वर कहता है कि यह प्रकाशनिक प्रमाणीकरण विधि स्वीकार करता है, और मेरा एसएसएच क्लाइंट उस पर जोर देता है, मुझे अस्वीकार कर दिया गया है। (ऊपर "सार्वजनिक कुंजी प्रदान करना:" पंक्ति की स्पष्ट अनुपस्थिति पर ध्यान दें।) कोई सुझाव?


39
2017-08-18 04:18


मूल


बस "एसएसएच-वी" का उपयोग करें, आपको अधिक वर्बोजिटी की आवश्यकता नहीं है और पूरे आउटपुट को शामिल न करें, न केवल उन पंक्तियों को जो आप सोचते हैं - cstamas
यह सवाल बंद हो रहा है क्योंकि यह अब उत्तरदायी नहीं है, और कम गुणवत्ता वाले उत्तरों को आकर्षित कर रहा है। - HopelessN00b


जवाब:


जांचें कि आपकी सेंटोस मशीन में है:

RSAAuthentication yes
PubkeyAuthentication yes

sshd_config में

और सुनिश्चित करें कि आपके पास Centos मशीन की ~ / .ssh / निर्देशिका पर उचित अनुमति है।

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/*

चाल करना चाहिए


41
2017-08-18 11:25



सही अधिकार और फ़ाइल नाम (कभी-कभी अधिकृत_कीएस 2, कभी-कभी 2 के बिना) बहुत महत्वपूर्ण है! - brandstaetter
फाइल की अनुमति authorized_keys बहुत महत्वपूर्ण संकेत है। धन्यवाद। - Kane
आपको भी इसकी आवश्यकता हो सकती है chmod go-w ~/ अगर यह पहले से नहीं है। - tylerl
यह भी जांचें कि रिमोट सर्वर पर आपके घर डीआईआर की अनुमति है या नहीं 755 (जैसा कि जेन्यू लियू नीचे उल्लेख करता है) - Attila Fulop
अन्य ऑपरेटिंग सिस्टम में एसएसएच कॉन्फ़िगरेशन फ़ाइल भी निम्नानुसार रह सकती है: /etc/ssh/ssh_config - Yoshua Wuyts


मुझे एक ही समस्या थी - रिमोट पीसी सेंटो 6 सर्वर में लॉग इन करने के लिए सार्वजनिक कुंजी प्रमाणीकरण का उपयोग नहीं कर सका। मेरे मामले में समस्या SELinux से संबंधित थी - लॉग इन करने का प्रयास करने वाले उपयोगकर्ता की होम निर्देशिका में सुरक्षा संदर्भों का संदेश था। मैंने इसका उपयोग करके हल किया restorecon इस प्रकार उपकरण:

restorecon -Rv /home

16
2018-02-20 23:02



धन्यवाद, गैरेथ! "restorecon -Rv /root/.ssh" ने अच्छी तरह से चाल की थी। - tbroberg
आगे की व्याख्या करने के लिए: यह आदेश SELinux को फ़ाइलों के लिए SELinux टैग को रीसेट करने के लिए कह रहा है /home जो भी वे आमतौर पर निर्देशिका लेआउट में हैं /home। - rakslice
यदि आप रूट के रूप में लॉग इन कर रहे हैं, तो यह होना चाहिए restorecon -Rv /root - zhangyoufu


1- अपने / etc / ssh / sshd_config की जांच करें, सुनिश्चित करें कि आपके पास है

आरएसए प्रमाणीकरण हाँ
पब्की प्रमाणीकरण हां

2- दूरस्थ मशीन से सुरक्षित लॉग की जांच करें, विवरण sshd daemon त्रुटि लॉग देखें। जैसे मेरे उबंटू में

# grep 'sshd' / var / log / secure | grep 'प्रमाणीकरण से मना कर दिया' | पूंछ -5
4 अगस्त 06:20:22 xxx sshd [16860]: प्रमाणीकरण से इनकार कर दिया: निर्देशिका / घर / xxx के लिए खराब स्वामित्व या मोड
4 अगस्त 06:20:22 xxx sshd [16860]: प्रमाणीकरण से इनकार कर दिया: निर्देशिका / घर / xxx के लिए खराब स्वामित्व या मोड
4 अगस्त 06:21:21 xxx sshd [17028]: प्रमाणीकरण से इनकार कर दिया: खराब स्वामित्व या निर्देशिका / घर / xxx के लिए मोड
4 अगस्त 06:21:21 xxx sshd [17028]: प्रमाणीकरण से इनकार कर दिया: खराब स्वामित्व या निर्देशिका / घर / xxx के लिए मोड
4 अगस्त 06:27:39 xxx sshd [20362]: प्रमाणीकरण से इनकार कर दिया: निर्देशिका / घर / xxx के लिए खराब स्वामित्व या मोड

फिर निर्देशिका / घर / xxx के लिए स्वामित्व और मोड की जांच करें, शायद आपको इसे चलाने की आवश्यकता है

chmod 755 / घर / xxx

11
2017-08-04 13:53



सिस्टम की लॉग फ़ाइल जांचें एक बहुत ही महत्वपूर्ण संकेत है। - Kane
755 की होम निर्देशिका परमिट ने मेरी मदद की - निश्चित रूप से आवश्यक! - Ben


दो बार जांचें कि आपकी अनुमतियां सही हैं और स्थानीय और दूरस्थ मशीन दोनों के लिए फ़ाइल संरचना (विशेष रूप से वर्तनी) सही हैं। यूआरएल जो आप संदर्भित करते हैं, वे सभी बताते हैं, लेकिन यह जांचने लायक है कि आपके पास क्या मेल खाता है। आम तौर पर अनुमतियां एक प्रासंगिक त्रुटि फेंक देंगे हालांकि।

क्या आपने जांच की है कि आपके CentOS 5.3 बॉक्स पर sshd_config को PubkeyAuthentication या RSA प्रमाणीकरण की अनुमति देने के लिए सेट किया गया है?

CentOS सिस्टम पर एसएसएच सर्वर लॉग की जांच करें - यह अधिक जानकारी प्रदान कर सकता है। मुझे यकीन नहीं है कि क्या CentOS ब्लैकलिस्टेड एसएसएच कुंजी जांचता है कि डेबियन करता है, लेकिन मैंने एसएसएच प्रकाशिकी रिजेक्शन देखा है जो अपेक्षाकृत चुप हैं -vvv आउटपुट चला जाता है, लेकिन लॉगों ने स्पष्ट रूप से समझाया कि क्या हो रहा था


10
2017-08-18 04:26





समझ गया! बाहर निकलता है यह एक क्लाइंट-साइड मुद्दा था। (मुझे लगता है कि किसी भी सर्वर-साइड इश्यू ने अधिक उपयोगी डीबग आउटपुट प्राप्त किया होगा।) मेरे मैक पर अज्ञात कारणों से, फ़ाइल / etc / ssh_config लाइन थी

PubkeyAuthentication = no

मैंने एक पंक्ति को टिप्पणी की, और अब सब कुछ ठीक काम करता है।


6
2017-08-18 16:16





फ़ाइलों / निर्देशिकाओं के तरीकों के अलावा, सुनिश्चित करें कि स्वामित्व सही है! उपयोगकर्ता के पास अपनी होम निर्देशिका, .ssh /, और उसमें फाइलें होनी चाहिए।

मुझे भागना पड़ा chown -R $user:$user /home/$user मेरे एसएसएच विफलताओं को पाने के लिए।


3
2017-08-23 22:34



+1, मेरे सिस्टम में से एक पर .ssh पर अनुमतियां सही थीं लेकिन किसी ने खाता की होम निर्देशिका 777 बनाई थी। - GargantuChet


यह भी जांचें कि यह ऑटो की आपूर्ति कर सकता है या नहीं, उपयोग -i पथ / से / कुंजी अगर नहीं या सिर्फ परीक्षण करने के लिए


1
2017-08-18 13:17





मुझे एक विन्यास समस्या की तरह लगता है। डैनियल की तरह सुझाव दिया गया कि जांच करने के लिए दो चीजें हैं:

  1. एसएसएच कुंजी में $HOME/.ssh/authorized_keys पठनीय हैं; तथा
  2. एसएसएचडी को सार्वजनिक कुंजी लॉगिन की अनुमति देने के लिए कॉन्फ़िगर किया गया है।

1
2017-08-18 06:46