जैसा कि स्पष्ट रूप से उल्लेख नहीं किया गया है, sshd डिफ़ॉल्ट रूप से authorized_keysफ़ाइलों के लिए अनुमतियों पर बहुत सख्त है । तो, अगर authorized_keysहै लिखने योग्य या उपयोगकर्ता के अलावा अन्य किसी के लिए भी लिखने योग्य बनाया जा सकता है उपयोगकर्ता के अलावा अन्य किसी के द्वारा, यह (जब तक sshd के साथ कॉन्फ़िगर किया गया है प्रमाणित करने के लिए मना कर दिया जाएगा StrictModes no)
मेरे द्वारा "योग्य" बनाया जा सकता है, इसका मतलब यह है कि यदि माता-पिता निर्देशिकाओं में से कोई भी उपयोगकर्ता के अलावा किसी के लिए भी योग्य है, तो उपयोगकर्ताओं को उन निर्देशिकाओं को संशोधित करने की अनुमति इस तरह से अनुमतियों को संशोधित करना शुरू कर सकती है, जिससे वे अधिकृत_कीड़ों को संशोधित / बदल सकते हैं।
इसके अलावा, यदि /home/username/.sshनिर्देशिका उपयोगकर्ता के स्वामित्व में नहीं है, और इस प्रकार उपयोगकर्ता के पास समस्याओं को चलाने के लिए कुंजी पढ़ने की कोई अनुमति नहीं है:
drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh
ध्यान दें कि jane के पास .sshफ़ाइल नहीं है। इसके माध्यम से ठीक करें
chown -R jane:jane /home/jane/.ssh
इस प्रकार की फाइल सिस्टम अनुमति के मुद्दों के साथ दिखाई नहीं देगा ssh -v, और वे sshd लॉग में भी नहीं दिखाएंगे (!) जब तक आप लॉग लेवल को DEBUG में सेट नहीं करते हैं।
- संपादित करें
/etc/ssh/sshd_config। आप एक ऐसी लाइन चाहते हैं, जो LogLevel DEBUGवहां कहीं पढ़े । डिस्ट्रो द्वारा प्रदान किए गए तंत्र का उपयोग करके एसएसएच सर्वर को पुनः लोड करें। ( service sshd reloadRHEL / CentOS / वैज्ञानिक पर।) एक सुंदर रीलोड मौजूदा सत्रों को नहीं गिराएगा।
- फिर से प्रमाणित करने का प्रयास करें।
- वर्क आउट करें जहां आपकी ऑर्कुलर सुविधा लॉग जाती है और उन्हें पढ़ें। (IIRC,
/var/log/auth.logडेबियन-आधारित डिस्ट्रोस /var/log/secureपर ; RHEL / CentOS / वैज्ञानिक पर।)
डिबग आउटपुट में क्या गलत हो रहा है, इस पर काम करना बहुत आसान है, जिसमें फाइल सिस्टम अनुमति त्रुटियां शामिल हैं। याद रखें कि किए गए परिवर्तन को वापस करने के लिए /etc/ssh/sshd_config!