SSH కనెక్షన్‌లను ఎలా డీబగ్ చేయాలి

How Debug Ssh Connections



ఈ ట్యుటోరియల్ మీరు SSH, ప్రామాణీకరణ లోపాలు మరియు అటువంటి వాటికి కనెక్ట్ చేయలేనప్పుడు సహా వివిధ SSH కనెక్షన్‌లను నిర్ధారించడానికి మీరు ఉపయోగించే కొన్ని శీఘ్ర పద్ధతులు మరియు టెక్నిక్‌లపై వెళ్తుంది.

గమనిక: ప్రారంభించడానికి ముందు, మీరు కనెక్ట్ చేయాలనుకుంటున్న పరికరం ఆన్‌లైన్‌లో ఉందని మరియు పరికరం అందుబాటులో లేనందున లోపం సంభవించలేదని నిర్ధారించుకోండి.







ఇష్యూ 1: SSH సర్వీస్ రన్నింగ్ కాదు

SSH కనెక్షన్ లోపాలకు ఒక సాధారణ కారణం రిమోట్ హోస్ట్‌లో సర్వీస్ రన్ అవ్వకపోవడమే. ఇది సిస్టమ్ రీబూట్ తర్వాత ప్రమాదవశాత్తు సర్వీస్ షట్డౌన్ లేదా సర్వీస్ ప్రారంభం కాకపోవడం వల్ల కావచ్చు.



SSH సేవ నడుస్తుందో లేదో తనిఖీ చేయడానికి, ఆదేశాన్ని ఉపయోగించి సిస్టమ్ మేనేజర్‌ని ఉపయోగించండి:



సుడోsystemctl స్థితి sshd

దిగువ స్క్రీన్ షాట్లలో చూపిన విధంగా, సేవ నడుస్తుందో లేదో పై ఆదేశం నివేదించాలి.







పరిష్కారం

సేవ అమలు కాకపోవడం వలన ఏర్పడిన SSH సమస్యలను పరిష్కరించడానికి, సేవను ప్రారంభించడానికి సిస్టమ్‌ని ఉపయోగించండి. సేవ లోపాలతో ప్రతిస్పందిస్తే, లాగ్‌లను తనిఖీ చేయండి మరియు లాగ్‌లో నివేదించబడిన సమస్యలను పరిష్కరించండి.

సేవా లాగ్‌లను తనిఖీ చేయడానికి క్రింది ఆదేశాన్ని ఉపయోగించండి.

పట్టు 'sshd' /ఎక్కడ/లాగ్/auth.log

Systemd ఉపయోగించి SSH సేవను ప్రారంభించడానికి లేదా ఆపడానికి క్రింది ఆదేశాన్ని ఉపయోగించండి.

సుడోsystemctl ప్రారంభం sshd

సమస్య 2: ప్రామాణికం కాని పోర్టులో SSH

SSH కనెక్షన్‌లను డీబగ్ చేసేటప్పుడు రెండవ సాధారణ సమస్య ప్రామాణికం కాని పోర్ట్‌ని ఉపయోగించడం. SSH డిఫాల్ట్ పోర్ట్ 22 కాకుండా మరొక పోర్టులో నడుస్తుంటే, మీరు SSH రన్ అవుతున్న పోర్ట్‌ని స్పష్టంగా పేర్కొనకపోతే మీరు రిమోట్ హోస్ట్‌కి కనెక్ట్ చేయలేరు.

SSH నడుస్తున్న పోర్టును వీక్షించడానికి, కింది విధంగా నెట్‌స్టాట్ వంటి సాధనాన్ని ఉపయోగించండి:

[వందలు@centos8 ~]$సుడో నెట్‌స్టాట్ -ptln | పట్టు ssh
tcp0 00.0.0.0:560.0.0.0:*వినండి1131/sshd
tcp60 0:::56:::*వినండి1131/sshd

పై అవుట్పుట్ SSH సేవ ఏ పోర్టులో నడుస్తుందో చూపుతుంది. ఈ సందర్భంలో, ఇది పోర్ట్ 56.

పరిష్కారం

ఈ సమస్యను పరిష్కరించడానికి, మీరు మీ ssh ఆదేశంలోని పోర్ట్‌ని స్పష్టంగా పేర్కొనడానికి netstat నుండి సమాచారాన్ని ఉపయోగించవచ్చు:

sshవినియోగదారు పేరు@ip -పి 56

సమస్య 3: అదే పోర్టును ఉపయోగించే మరొక సేవ

SSH కనెక్షన్ లోపాలకు మరొక కారణం ఏమిటంటే, మరొక సర్వీస్ లేదా ప్రాసెస్ కూడా SSH సర్వీస్ వలె అదే పోర్ట్‌ను ఉపయోగిస్తుంది. ఉదాహరణకు, పోర్ట్ 80 (భయంకరమైన ఆలోచన) లో అమలు చేయడానికి SSH స్పష్టంగా పేర్కొనబడితే, అపాచీ వంటి సేవ అదే పోర్టును ఉపయోగిస్తూ ఉండవచ్చు.

SSH వలె అదే ప్రక్రియను మరొక ప్రక్రియ ఉపయోగిస్తుందో లేదో చూడటానికి, ఆదేశాన్ని ఉపయోగించి లాగ్‌లను తనిఖీ చేయండి:

సుడోJournalctl-టిsshd

ఈ కమాండ్ క్రింద చూపిన విధంగా ఒక లోపాన్ని అందిస్తుంది, మరొక ప్రక్రియ SSH- బౌండ్ పోర్ట్‌ని ఉపయోగిస్తుందో లేదో సూచిస్తుంది.

sshd[110611]: లోపం: పోర్టుకు కట్టుకోండి800.0.0.0 లో విఫలమైంది: చిరునామా ఇప్పటికేలోవా డు

పోర్ట్ బైండింగ్ లోపం SELinux వంటి భద్రతా చర్యల ద్వారా కాకుండా, మరొక సేవ వలన సంభవించిందని నిర్ధారించుకోవడం మంచిది.

పరిష్కారం

ఈ సమస్యను పరిష్కరించడానికి మీరు ఉపయోగించే అనేక మార్గాలు ఉన్నాయి. వీటితొ పాటు:

మొదటిది SSH సేవను వేరే పోర్టుకు బంధించడం. మీరు SSH కాన్ఫిగరేషన్ ఫైల్‌ను సవరించడం ద్వారా దీన్ని చేయవచ్చు. ఉదాహరణకు, ఆదేశాలలో చూపిన విధంగా పోర్ట్ ఎంట్రీని పోర్ట్ 3009 కి మార్చండి:

సుడో నానో /మొదలైనవి/ssh/sshd_config
పోర్ట్3009

ఈ సమస్యను పరిష్కరించడానికి మీరు ఉపయోగించే మరొక పద్ధతి SSH పోర్ట్ ఉపయోగించి సేవను నిలిపివేయడం. ఉదాహరణకు, పోర్ట్ 80 ను ఉపయోగించి అపాచీ సేవను ఆపివేయండి:

సుడోsystemctl స్టాప్ httpd
సుడోsystemctl డిసేబుల్ httpd

సమస్య 4: ఫైర్వాల్

మీరు పైన పేర్కొన్న అన్ని పద్ధతులను ప్రయత్నించి, ఇంకా SSH కనెక్షన్ లేకపోతే, మీరు సమస్య యొక్క తదుపరి కారణానికి వెళ్లవచ్చు: ఫైర్వాల్ ఆంక్షలు. మీరు ఉపయోగిస్తున్న ఫైర్వాల్ పద్ధతిని బట్టి (UFW లేదా Iptables), మీరు ఫైర్‌వాల్ SSH కనెక్షన్‌లను అనుమతించేలా చూడాలి.

పరిష్కారం

ఫైర్‌వాల్ నియమాలు విస్తృతమైనవి మరియు సిస్టమ్ ఆకృతీకరణపై ఆధారపడి మారవచ్చు. అందువలన, నేను ప్రతి అంశాన్ని కవర్ చేయలేను. ఏదేమైనా, UFW ఫైర్‌వాల్‌లో SSH సేవ అనుమతించబడిందని నిర్ధారించడానికి కిందివి ఒక సాధారణ పరిష్కారం.

సుడోufw అనుమతిస్తాయి<ssh_port> /tcp

మీరు అన్ని UFW నియమాలను కూడా రీసెట్ చేయవచ్చు మరియు మళ్లీ ప్రారంభించవచ్చు. మొదటి నుండి ఫైర్‌వాల్ కనెక్షన్‌లను పరిష్కరించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది.

సుడోufw రీసెట్

సమస్య 5: డిసేబుల్ పాస్‌వర్డ్ లాగిన్

కొన్నిసార్లు మీరు SSH ను పాస్‌వర్డ్ లాగిన్‌లను ఆమోదించకుండా కాన్ఫిగర్ చేయవచ్చు మరియు పబ్లిక్-కీ ప్రామాణీకరణను మాత్రమే ఉపయోగించవచ్చు. సర్వర్‌లో పబ్లిక్ కీ అందుబాటులో లేనట్లయితే లేదా మీ ప్రైవేట్ కీ జత తప్పిపోతే అది సమస్యను కలిగిస్తుంది.

పాస్‌వర్డ్ లాగిన్‌లు అనుమతించబడ్డాయో లేదో తనిఖీ చేయడానికి, ssh config ని ఇలా క్యాట్ చేయండి:

[వందలు@సెంటోస్ 8]$సుడో పట్టుపాస్వర్డ్ ధృవీకరణ/మొదలైనవి/ssh/sshd_config
#పాస్‌వర్డ్ ప్రమాణీకరణ అవును
పాస్వర్డ్ ధృవీకరణఅవును
# పాస్‌వర్డ్ ప్రమాణీకరణ. మీ PAM కాన్ఫిగరేషన్‌ని బట్టి,
# PAM ప్రమాణీకరణ, ఆపై దీన్ని ప్రారంభించండి కానీ పాస్‌వర్డ్ ప్రామాణీకరణను సెట్ చేయండి

పాస్‌వర్డ్ లాగిన్‌లు అనుమతించబడతాయని పై అవుట్‌పుట్ చూపుతుంది.

పరిష్కారం

పై సమస్యను పరిష్కరించడానికి, మీరు రెండు పద్ధతులను ఉపయోగించవచ్చు:

ముందుగా, మీకు విలువ సెట్ చేయబడితే, పాస్‌వర్డ్ ఆథెంటికేషన్ విలువను అవునుగా మార్చండి మరియు ssh సేవను పునartప్రారంభించండి.

ఇతర పద్ధతి ఒక ssh కీ-విలువ జతను సృష్టించడం మరియు సర్వర్‌కు లాగిన్ అవ్వడానికి ఉపయోగించడం. Ssh కీ-విలువ జతను ఎలా సృష్టించాలో తెలుసుకోవడానికి, కింది గైడ్‌ని ఉపయోగించండి.

https://linuxhint.com/find-ssh-public-key/

https://linuxhint.com/use-ssh-copy-id-command/

ముగింపు

ఈ శీఘ్ర గైడ్‌లో, మేము SSH కనెక్షన్ లోపాల యొక్క ప్రధాన కారణాలను మరియు వాటిని ఎలా పరిష్కరించవచ్చో చర్చించాము. ఈ గైడ్ సాధారణ సమస్యలను కవర్ చేసినప్పటికీ, కాన్ఫిగరేషన్ మరియు అనుమతుల ఆధారంగా మీ సిస్టమ్‌కు సంబంధించిన లోపాలను మీరు కనుగొనవచ్చు.