కొన్నిసార్లు, మీరు SSH ద్వారా కనెక్ట్ చేయడానికి ప్రయత్నించినప్పుడు, మీరు 'అనుమతి నిరాకరించబడింది (పబ్లిక్ కీ)' లోపాన్ని ఎదుర్కోవచ్చు. మీరు మీ SSH సర్వర్లో కొత్త వినియోగదారు ఖాతాలను సృష్టించడం లేదా కొత్త ప్యాకేజీలను ఇన్స్టాల్ చేయడం వంటి అనుమతి సెట్టింగ్లను మార్చినట్లయితే ఈ లోపం సంభవించవచ్చు. కాబట్టి, ఇది మీ SSH సర్వర్కి విజయవంతంగా కనెక్ట్ అవ్వకుండా మిమ్మల్ని నిరోధిస్తుంది.
ఈ గైడ్లో, SSH అనుమతి నిరాకరించబడిన (పబ్లిక్ కీ) లోపాన్ని ఎలా పరిష్కరించాలో మేము నేర్చుకుంటాము. అదనంగా, మేము ఈ సాధారణ SSH ప్రమాణీకరణ లోపాన్ని పరిష్కరించడానికి దాని కారణాలు మరియు సాధ్యమైన పరిష్కారాలను కూడా అన్వేషిస్తాము.
మీరు కూడా నేర్చుకోవచ్చు ఉబుంటులో SSH కీని ఎలా రూపొందించాలి ఈ గైడ్ ఉపయోగించి.
SSH 'అనుమతి నిరాకరించబడింది (పబ్లిక్ కీ)' లోపం ఎందుకు సంభవిస్తుంది?
సరికాని వినియోగదారు పేరు లేదా హోస్ట్, సర్వర్లో పబ్లిక్ కీ మిస్ కావడం, SSH కీలు మరియు ఫోల్డర్ల కోసం చెల్లని అనుమతులు మరియు SSH సర్వీస్ కాన్ఫిగరేషన్ వంటి విభిన్న కారణాల వల్ల ఈ లోపం సంభవించవచ్చు. అయితే, ఈ లోపం యొక్క రెండు ప్రధాన కారణాలు క్రింది వాటిలో జాబితా చేయబడ్డాయి:
- డిఫాల్ట్ SSH కాన్ఫిగరేషన్లను కలిగి ఉన్న “/etc/ssh/sshd_config” ఫైల్లో తప్పు కాన్ఫిగరేషన్ కారణంగా ఈ లోపం సంభవించవచ్చు.
- రిమోట్ సిస్టమ్లో ఉన్న “~/.ssh/authorized_key” ఫైల్పై తగిన అనుమతులు లేకపోవడం వల్ల కూడా లోపం సంభవించవచ్చు. ఈ ఫైల్ సర్వర్తో SSH కనెక్షన్లను ఏర్పాటు చేయడానికి అనుమతించబడిన క్లయింట్ సిస్టమ్ల పబ్లిక్ కీలను కలిగి ఉంది.
“అనుమతి నిరాకరించబడింది (పబ్లిక్ కీ)” లోపాన్ని ఎలా పరిష్కరించాలి
మీరు రెండు వేర్వేరు పద్ధతులను ఉపయోగించి “అనుమతి నిరాకరించబడింది (పబ్లిక్ కీ)” లోపాన్ని పరిష్కరించవచ్చు:
పరిష్కారం 1: పాస్వర్డ్ ప్రమాణీకరణను తనిఖీ చేసి, ప్రారంభించండి
ఈ లోపానికి ప్రధాన కారణాలలో ఒకటి “/etc/ssh/sshd_config” ఫైల్ యొక్క తప్పు కాన్ఫిగరేషన్. మీ సిస్టమ్లో పాస్వర్డ్ ప్రామాణీకరణ లక్షణాన్ని నిలిపివేయడం వలన ఎవరైనా SSH కీ-ఆధారిత ప్రమాణీకరణను మాత్రమే ఉపయోగించినప్పుడు ఈ లోపం సంభవించవచ్చు మరియు ఏ కారణం చేతనైనా ప్రైవేట్ కీ అందుబాటులో ఉండకపోవచ్చు. కాబట్టి, మీరు పాస్వర్డ్ ప్రమాణీకరణను ఉపయోగించి SSH సర్వర్ను యాక్సెస్ చేయాలనుకుంటే, మీరు మీ SSH కాన్ఫిగరేషన్ ఫైల్లో పాస్వర్డ్ ప్రమాణీకరణ లక్షణాన్ని ప్రారంభించడం ద్వారా “అనుమతి నిరాకరించబడిన లోపాన్ని” పరిష్కరించవచ్చు.
దీన్ని చేయడానికి, “Ctrl+Alt+t” కీబోర్డ్ సత్వరమార్గాన్ని ఉపయోగించి టెర్మినల్ను తెరిచి, సర్వర్ వైపు క్రింది దశలను చేయండి:
దశ 1: టెక్స్ట్ ఎడిటర్లో “/etc/ssh/sshd_config” కాన్ఫిగరేషన్ ఫైల్ను తెరవండి. ఇక్కడ, మేము డిఫాల్ట్ నానో టెక్స్ట్ ఎడిటర్ని ఉపయోగిస్తాము.
$ సుడో నానో / మొదలైనవి / ssh / sshd_config
దశ 2 : “పాస్వర్డ్ అథెంటికేషన్” లైన్ని గుర్తించి, దాన్ని “అవును”కి ఎనేబుల్ చేయండి. ఈ లైన్ వ్యాఖ్యానించబడితే, ఈ లైన్ను అన్కామెంట్ చేయడానికి ప్రారంభంలో ఉన్న “#” చిహ్నాన్ని తీసివేయండి.
'Ctrl+O'ని ఉపయోగించి మునుపటి మార్పులను సేవ్ చేసి, 'Ctrl+x' ద్వారా కాన్ఫిగరేషన్ ఫైల్ నుండి నిష్క్రమించండి.
దశ 3 : ఫైల్కి మార్పులను వర్తింపజేయడానికి క్రింది పేర్కొన్న ఆదేశాన్ని ఉపయోగించి మీ సిస్టమ్లో SSH సేవను మళ్లీ రీలోడ్ చేయండి లేదా పునఃప్రారంభించండి.
$ సుడో systemctl పునఃప్రారంభించండి sshd
ఇప్పుడు, మీరు మీ SSH క్లయింట్తో మళ్లీ కనెక్ట్ చేయడానికి ప్రయత్నిస్తే, మీరు రిమోట్ హోస్ట్ మెషీన్ను యాక్సెస్ చేయగలరు.
$ ssh మా సహనం @ 10.0.2.15
పరిష్కారం 2: SSH అధీకృత_కీలపై అనుమతులను మార్చండి
భద్రతా సమస్యల కారణంగా SSH పాస్వర్డ్ ఆధారిత ప్రమాణీకరణ పద్ధతిని ఉపయోగించడం సిఫార్సు చేయబడదు. అందువల్ల, పబ్లిక్ ఫండమెంటల్ అథెంటికేషన్ విధానాన్ని ఉపయోగించి ఈ లోపాన్ని పరిష్కరిస్తుంది కాబట్టి ఈ పద్ధతి ఉత్తమం. చాలా సందర్భాలలో, రిమోట్ సర్వర్లో ఉన్న “~/.ssh/authorized_keys” ఫైల్లో తప్పు యాజమాన్యం మరియు అనుమతులను సెటప్ చేయడం ద్వారా లోపం వస్తుంది. ఈ పద్ధతిని ఉపయోగించి లోపాన్ని పరిష్కరించడానికి, మీరు ఇచ్చిన దశలను అనుసరించాలి:
దశ 1 : '/etc/SSH/sshd_config' ఫైల్ను టెక్స్ట్ ఎడిటర్లో తెరవండి.
$ సుడో నానో / మొదలైనవి / ssh / sshd_config
ఇప్పుడు, కింది ఎంపికలను సవరించండి:
PermitRootLogin నంPubkey ప్రమాణీకరణ అవును
మీరు రూట్ లాగిన్ని ఉపయోగించాలనుకుంటే, “permitrootlogin అవును” సెట్ చేయండి.
దశ 2 : ఈ పంక్తుల ప్రారంభంలో “#” చిహ్నాన్ని జోడించడం ద్వారా GSSAPI ఎంపికలపై వ్యాఖ్యానించండి.
#GSSAPIA ప్రమాణీకరణ అవును#GSSAPICleanup క్రెడెన్షియల్స్ నం
అలాగే, కాన్ఫిగరేషన్ ఫైల్లో “UsePAM అవును” సెట్ చేయండి.
దశ 3 : మునుపటి కాన్ఫిగరేషన్ను సేవ్ చేయండి మరియు ఈ ఆదేశాన్ని ఉపయోగించి SSH సేవలను పునఃప్రారంభించండి:
$ సుడో systemctl పునఃప్రారంభించండి sshdఇప్పుడు, మీ హోమ్ ఫోల్డర్లోని అనుమతులను తనిఖీ చేయండి:
$ ls -ld
మీకు ఈ ఫోల్డర్లో రీడ్-రైట్ అనుమతులు (drwx——) లేకుంటే, “chmod” ఆదేశాన్ని ఉపయోగించి అనుమతులను సెట్ చేయండి:
$ సుడో chmod / ఇల్లు / మా సహనం
కింది ఆదేశాన్ని ఉపయోగించి “.ssh” ఫోల్డర్పై అనుమతిని మార్చండి:
$ chmod 0700 / ఇల్లు / మీ ఇల్లు / .ssh“.ssh” ఫోల్డర్లో “authorized_keys” ఫైల్ ఉంది. ఈ ఫైల్లోని అనుమతులను తనిఖీ చేయండి.
$ ls -ld .ssh / అధీకృత_కీలు
ఫైల్ యజమాని చదవడానికి-వ్రాయడానికి అనుమతులను కలిగి ఉండాలి. ఫైల్ అనుమతులను మార్చడానికి, కింది ఆదేశాన్ని ఉపయోగించండి:
$ chmod 0600 / ఇల్లు / [ వినియోగదారు పేరు ] / .ssh / అధీకృత_కీలు
ఇప్పుడు, SSH రిమోట్ హోస్ట్తో కనెక్ట్ అవ్వడానికి ప్రయత్నించండి. కనెక్షన్ సమయంలో మీరు ఎటువంటి లోపాన్ని స్వీకరించరని మేము ఆశిస్తున్నాము.
ముగింపు
ఈ ట్రబుల్షూటింగ్ గైడ్లో, 'అనుమతి నిరాకరించబడింది (పబ్లిక్ కీ)' లోపాన్ని ఎలా పరిష్కరించాలో మేము అన్వేషించాము. మేము ఈ లోపం యొక్క సంభావ్య కారణాలను చర్చించాము మరియు ఈ లోపాన్ని పరిష్కరించడానికి రెండు వేర్వేరు పరిష్కారాలను సిఫార్సు చేసాము. మీ Linux సిస్టమ్లో ఈ లోపాన్ని పరిష్కరించడానికి మునుపటి సూచనలు మీకు సహాయపడతాయని మేము ఆశిస్తున్నాము. మీరు మరింత జ్ఞానం పొందాలనుకుంటే, మీరు దానిని సందర్శించవచ్చు డాక్యుమెంటేషన్ ఇక్కడ . ధన్యవాదాలు!