SSH key permissions: chmod 600 या 700 कब इस्तेमाल करें
Private SSH key पर chmod 600 और उसकी directory पर 700 लगाएँ, फिर reconnect करने से पहले permissions और ownership जाँचें।
इंटरएक्टिव पाठ शुरू करेंPrivate SSH key पर chmod 600 उपयोग करें ताकि owner उसे पढ़ और लिख सके। .ssh directory पर chmod 700 लगाएँ ताकि केवल owner उसके भीतर जा सके या बदलाव कर सके। OpenSSH ऐसी private key अस्वीकार करता है जिसे अन्य users पढ़ सकते हैं। Mode के साथ ownership भी जाँचें, क्योंकि chmod गलत owner ठीक नहीं करता। SSH permissions lesson असली key बदलने से पहले सुरक्षित अभ्यास देता है।
Private key file पर 600 लगाएँ
chmod 600 "$HOME/.ssh/id_ed25519"
Mode 600 का अर्थ:
| Audience | Permission |
|---|---|
| owner | read + write |
| group | none |
| others | none |
SSH को private key पढ़नी होती है, लेकिन दूसरे accounts को access नहीं मिलना चाहिए। Read-only 400 भी नियम पूरा कर सकता है, पर owner द्वारा manage की गई key के लिए 600 सामान्य व्यावहारिक विकल्प है।
यही mode बिना सोचे .pub public key पर न लगाएँ। Public key साझा करने के लिए होती है; sensitive file private key है।
.ssh directory पर 700 लगाएँ
Directory की entries खोलने के लिए execute या search permission चाहिए:
chmod 700 "$HOME/.ssh"
700 owner को read, write और search देता है, group तथा others को कुछ नहीं। Directory पर 600 लगाने से search bit हट जाएगा और owner भी files नहीं खोल पाएगा।
chmod -R 700 "$HOME/.ssh" जैसा shortcut न अपनाएँ। इससे हर regular file executable बन सकती है और private key, public key, config तथा known-host files के अलग modes मिट जाते हैं।
Mode और ownership साथ जाँचें
ls -ld "$HOME/.ssh"
ls -l "$HOME/.ssh/id_ed25519"
Directory drwx------ और private key -rw------- से शुरू होनी चाहिए। दोनों rows का owner वही account होना चाहिए जो ssh चलाता है।
Owner गलत हो तो policy समझने के बाद ही बदलें:
sudo chown "$USER" "$HOME/.ssh/id_ed25519"
Shared या managed system पर इस command को बिना पुष्टि copy न करें। Ownership की अलग जोखिमों के लिए chown guide देखें।
Windows-mounted, network या managed filesystem Unix mode को सामान्य रूप से लागू न करे तो chmod के बजाय mount semantics जाँचें। ssh -v host से loaded identity देख सकते हैं, पर logs साझा करने से पहले usernames, hostnames और paths हटाएँ।
Octal system के लिए chmod numbers guide पढ़ें। Private-key checks OpenSSH ssh manual में documented हैं।
संदर्भ
ये दस्तावेज़ लिंक इस लेख में उपयोग किए गए कमांड के लिए आधिकारिक विवरण प्रदान करते हैं।
अगला
केस-इनसेंसिटिव (case-insensitive) grep फिल्टर के साथ कार्रवाई योग्य (actionable) लॉग लाइनों को तुरंत निकालें।