पासवर्ड और `ls .ssh` के लिए पूछना शुरू करने वाले ssh लॉगिन को कैसे ठीक किया जाए?


1

मैं अपने मैक को टर्मिनल होस्ट के माध्यम से दूरस्थ होस्ट में लॉगिन करने के लिए उपयोग करता हूं sshऔर स्थानीय संग्रहीत कुंजी उर्फ ​​पासवर्डलेस लॉगिन उर्फ ​​प्रमाणीकरण कुंजी लॉगिन का उपयोग करता हूं ।

अचानक नए sshलॉगिन प्रयास हैं:

  1. पासवर्ड के लिए पूछ रहा है, जहां पहले लॉगिन पासवर्ड रहित थे
  2. वापसी The authenticity of host XYZ can't be established.
  3. हाँ जवाब Are you sure you want to continue connecting (yes/no)?
    में परिणाम Failed to add the host to the list of known hosts (/Users/user/.ssh/known_hosts)

ls ~/.sshसभी "अनुमति अस्वीकृत" में भी परिणाम:

ls: authorized_keys: Permission denied
ls: config: Permission denied
ls: id_rsa: Permission denied
ls: id_rsa.pub: Permission denied
ls: known_hosts: Permission denied

इसे कैसे ठीक करें?


TL; DR: संस्करण: प्रश्न: अनुमतियाँ गलत हैं। उत्तर: अनुमतियों को ठीक करें।
जकूजी

@Jakuje "TL? DR" का क्या अर्थ है?
प्रो बैकअप

[ en.wikipedia.org/wiki/… tl; dr और tldr;))
जकूजी

जवाबों:


1

गलत फ़ाइल अनुमतियां

.Ssh फ़ोल्डर के अंदर कुछ फ़ाइलों पर गलत अनुमतियाँ सेट की गई हैं। इस पर एक नज़र है।

$ sudo ls -l ~/.ssh
-rw-r--r--+ 1 user  staff    393 27 nov 19:08 authorized_keys
-rw-r--r--+ 1 user  staff     16 26 apr  2016 config
-rw-------@ 1 user  staff   1743 16 sep  2008 id_rsa
-rw-r--r--@ 1 user  staff    400 16 sep  2008 id_rsa.pub
-rw-r--r--@ 1 user  staff  36654 26 nov 17:02 known_hosts

पहला कॉलम ( -rw-r--r--) स्वामी, समूह और अन्य के लिए असाइन किए गए यूनिक्स फ़ाइल अनुमतियों को प्रदर्शित करता है।

समूह और अन्य के लिए अनुमतियों को पढ़ने की अनुमति नहीं है

यहां वास्तविक मुद्दा rकॉलम स्थिति 2 पर पहला नहीं है , लेकिन rस्थिति 5 और 8 पर है। यह बताता है कि समूह और अन्य ने इन फ़ाइलों के लिए अनुमतियाँ पढ़ी हैं। और फिर अन्य लोगों के लिए फ़ाइल स्वामी की अनुमति पढ़ने की अनुमति नहीं है।

ठीक कर

यह समूह के सभी अधिकारों और कमांड का उपयोग करके सभी को हटाकर तय किया जा सकता है chmod 600 filename। इस विशिष्ट मामले के लिए एक कमांड जो काम करेगा वह है:

$ sudo chmod 600 ~/.ssh/{authorized_keys,config,id_rsa.pub,known_hosts}

नतीजा

इस आदेश को चलाने के बाद नए परमिट इस तरह दिखते हैं:

$ ls -l ~/.ssh
total 104
-rw-------+ 1 user  staff   393B 27 nov 19:08 authorized_keys
-rw-------+ 1 user  staff    16B 26 apr  2016 config
-rw-------+ 1 user  staff   1,7K 16 sep  2008 id_rsa
-rw-------+ 1 user  staff   400B 16 sep  2008 id_rsa.pub
-rw-------+ 1 user  staff    36K 26 nov 17:02 known_hosts 

नोट: lsकमांड अब बिना रन के चलती है sudo


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