ప్రతి చందాదారుకు ఒక పరికరం వాగ్దానం చేసే టన్నెల్ సేవలు ఆ వాగ్దానాన్ని MaxSessions నుండి అరుదుగా పొందుతాయి, మొదటి పరీక్ష సాధారణంగా దానిని నిరూపిస్తుంది. చందాదారు రెండవ ssh ప్రక్రియను తెరుస్తాడు, మొదటి సెషన్ కొనసాగుతుంది, రెండు టన్నెల్లు ట్రాఫిక్ను మోస్తాయి. ప్రతి కాన్ఫిగరేషన్ ఎంపిక వేరే విషయాన్ని లెక్కిస్తుంది, వాటిలో ఏదీ పరికరాలను లెక్కించదు. ముందుగా వాగ్దానానికి పేరు పెట్టడమే వాటి మధ్య ఎంపికను స్పష్టం చేస్తుంది.

ప్రతి ఎంపిక నిజంగా ఏమి లెక్కిస్తుంది

MaxSessions ఒక ప్రామాణీకృత నెట్వర్క్ కనెక్షన్ మోసే తెరిచిన సెషన్ల సంఖ్యను పరిమితం చేస్తుంది. ఇక్కడ సెషన్ అంటే షెల్, exec అభ్యర్థన, SFTP వంటి ఉపవ్యవస్థ, లేదా ఒక SSH రవాణా లోపల మల్టీప్లెక్స్ చేయబడిన సమాన ఛానెల్. రెండవ ssh పిలుపు రెండవ రవాణాను తెరిచి, మళ్లీ ప్రామాణీకరించి తన సొంత అనుమతిని పొందుతుంది. మొదటి కనెక్షన్ సెషన్ సంఖ్య దానికి అసంబద్ధం.

MaxStartups ఇంకా ప్రామాణీకరించని ఏకకాల కనెక్షన్లను ప్రారంభ పరిమితి, రేటు మరియు పూర్తి పరిమితిగా పరిమితం చేస్తుంది. సగం తెరిచిన హ్యాండ్షేక్ల విస్ఫోటనం ప్రామాణీకరణకు ముందు డీమన్ వనరులను ఖాళీ చేయకుండా ఉండటానికి ఇది ఉంది. క్లయింట్ ప్రామాణీకరించిన వెంటనే ఆ కనెక్షన్ MaxStartups కు వ్యతిరేకంగా లెక్కించడం ఆపి ఒకరి సెషన్ అవుతుంది. ఇది ఎప్పుడూ ప్రతి వినియోగదారుకు కోటా కాదు, దాన్ని పెంచడం చందాదారుకు ఎక్కువ చేయడానికి అనుమతించదు.

పరికర నమోదు నియమం ఏ విధంగానూ sshd ఎంపిక కాదు. ఇది ప్రామాణికాలను జారీ చేసి ఏ పరికరం వాటిని ఉంచుతుందో ట్రాక్ చేసే ఏ వ్యవస్థకైనా చెందుతుంది, అంటే కౌంటర్కు బదులు నమోదు, జాబితా మరియు రద్దు అవసరం. ఈ అవసరాన్ని sshd కాన్ఫిగరేషన్లో కలపడమే ఈ డిజైన్లలో చాలావరకు చిక్కుకునే చోటు.

MaxSessions ఎక్కడ కోటా కాకుండా ఉంటుంది

Match User బ్లాక్ ఆ వినియోగదారుకు ఏ కాన్ఫిగరేషన్ విలువలు వర్తిస్తాయో మారుస్తుంది, కాబట్టి సేవా ఖాతాకు కఠినమైన MaxSessions సెట్ చేయడానికి ఇది సహజమైన చోటు. ఇది చేయలేనిది కనెక్షన్ల అంతటా సమగ్రపరచడం, ఎందుకంటే ఎంపిక ప్రతి రవాణాకు మూల్యాంకనం చేయబడుతుంది. రెండు రవాణాలు చెరొక పరిమితిని పొందుతాయి, వినియోగదారు చివరికి బ్లాక్ అనుమతించిన దానికి రెట్టింపు పొందుతారు.

ఫార్వర్డింగ్ ఒక ప్రత్యేక ఆశ్చర్యం. TCP ఫార్వర్డింగ్కు సెషన్ ఛానెల్ అవసరం లేదు, కాబట్టి MaxSessions 0 షెల్ మరియు ఉపవ్యవస్థలను నిషేధిస్తూనే -L మరియు -R టన్నెల్లను అనుమతించగలదు. ఫార్వర్డింగ్ మాత్రమే చేసి సెషన్ సంఖ్యను తన టన్నెల్ కోటాగా భావించే సేవ ఏదీ కొలవదు. ఆ ప్రవర్తన OpenSSH సర్వర్ కాన్ఫిగరేషన్ సూచనలో నమోదు చేయబడింది, ఎంపిక పేరు చుట్టూ డిజైన్ చేయడానికి ముందు దాన్ని చదవడం విలువైనది.

లోడ్ అయిందని మీరు భావించే ఫైల్కు బదులు ప్రభావవంతమైన కాన్ఫిగరేషన్ను డంప్ చేయండి. చేరికలు మరియు drop-in డైరెక్టరీలు తరచుగా అమలులో ఉన్న విలువ మీరు సవరించిన విలువ కాదని అర్థం.

MaxStartups చందాదారుని కాదు, డీమన్ను కాపాడుతుంది

MaxStartups మూడు భాగాల రూపం డీమన్ కొత్త వాటిలో కొంత శాతాన్ని పడేయడం ప్రారంభించక ముందు ఎన్ని ప్రామాణీకరించని కనెక్షన్లు ఉండవచ్చో వివరిస్తుంది. దాని డిఫాల్ట్ రూపం ప్రామాణీకరించని SSH కనెక్షన్ తెరవడం చవకైనది మరియు ఉంచుకోవడం ఖరీదైనది కాబట్టి ఉంది. ఇది సర్వర్ కోసం వనరుల రక్షణ నియంత్రణ, ఇది అందరికీ ఒకేసారి వర్తిస్తుంది.

లాగిన్ తుఫాను సమయంలో దాన్ని పెంచడం డీమన్ రక్షణను ప్రవేశంతో మారుస్తుంది, ఇది కొన్నిసార్లు సరైన మార్పిడి మరియు ఎప్పుడూ ఉద్దేశపూర్వకం. రెండవ టన్నెల్ కావాల్సిన చందాదారుకు ఇది ఏమీ చేయదు, ఎందుకంటే మొదటి టన్నెల్ ఇప్పటికే ప్రామాణీకరించబడింది. రెండింటినీ కలపడం తప్పు లక్షణాన్ని సరిచేస్తూ అదే సమయంలో సర్వర్ను బలహీనపరిచే మార్పుకు దారి తీస్తుంది.

లాగిన్లు గుంపులుగా తిరస్కరించబడినప్పుడు, ఏ ఎంపికనూ తాకడానికి ముందు డీమన్ లాగ్లో ప్రామాణీకరణకు ముందు సందేశాన్ని చూడండి. సందేశం ఏ కాపలాదారు పనిచేసిందో పేర్కొంటుంది, కాపలాదారులు ఒకరికొకరు మార్చుకోలేరు.

ప్రతి-వినియోగదారు స్లాట్కు భాగస్వామ్య స్థితి అవసరం

నిజమైన ఒక-క్రియాశీల-రవాణా విధానానికి sshd వెలుపల ఎక్కడో ఉంచిన రిజర్వేషన్ అవసరం. ప్రవేశ దశ ఖాతా స్లాట్ను పరమాణు రూపంలో క్లెయిమ్ చేయాలి, కనెక్షన్ మూసివేయబడినప్పుడు దాన్ని విడుదల చేయాలి, క్లయింట్ మూసివేయకుండా మాయమైనప్పుడు దాని గడువు ముగియాలి, కొత్త ప్రయత్నం తిరస్కరించబడుతుందా లేదా పాతదాన్ని భర్తీ చేస్తుందా నిర్ణయించాలి. ఆ చివరి నిర్ణయం ఉత్పత్తి నిర్ణయం, సాంకేతిక వివరం కాదు, ఎందుకంటే క్రియాశీల టన్నెల్ను భర్తీ చేయడం ఒకరిని డిస్కనెక్ట్ చేస్తుంది.

రిజర్వేషన్ను ఖాతాను అంగీకరించే ప్రతి సర్వర్ కూడా పంచుకోవాలి. స్వతంత్ర స్థానిక కౌంటర్లు ఉన్న రెండు హోస్ట్లు రెండు వేర్వేరు పరిమితులను అమలు చేస్తాయి, మరో గేట్వే ద్వారా తిరిగి కనెక్ట్ అయ్యే చందాదారు ఉచితంగా రెండవ స్లాట్ పొందుతారు. స్థితిని నిల్వ చేసే ఏదైనా దాని సొంత వైఫల్య ప్రవర్తనను కలిగి ఉండాలి, ఎందుకంటే చేరుకోలేని నిల్వ అందరు చందాదారులను లాక్ చేయకూడదు.

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

రెండు నిజమైన కనెక్షన్లతో విధానాన్ని తనిఖీ చేయండి

విధానాన్ని రాయడానికి ముందు ఆమోద పరీక్షలను ఆదేశాలుగా రాయండి. ఐదు సందర్భాలు: మొదటిది క్రియాశీలంగా ఉన్నప్పుడు తెరవబడే రెండవ రవాణా, ఒక రవాణా లోపల అనేక ఛానెల్లు, పోర్ట్లను మాత్రమే ఫార్వర్డ్ చేసే క్లయింట్, లింక్ పడిపోయిన తర్వాత తిరిగి కనెక్ట్ కావడం, అదే ఖాతా మరో గేట్వేకు చేరుకోవడం.

ముందుగా ప్రభావవంతమైన పరిమితులను చదవండి, తర్వాత విధానం తిరస్కరించాల్సిన కనెక్షన్లను తెరవండి. ఆ పరీక్షలో రెండు భాగాలూ ముఖ్యం, ఏదీ మరొకదానికి ప్రత్యామ్నాయం కాదు.

sshd -T | grep -iE "maxsessions|maxstartups|allowtcpforwarding|permitopen"
ss -tn state established '( sport = :22 )' | head
ssh -N -L 8080:127.0.0.1:80 [email protected]

రెండు టెర్మినల్స్లో టన్నెల్ ఆదేశాన్ని రెండుసార్లు అమలు చేసి పోర్ట్ 22లో ఏర్పడిన కనెక్షన్లను లెక్కించండి. మీ విధానం ఒక క్రియాశీల రవాణాను చెప్పుతున్నప్పుడు రెండూ ట్రాఫిక్ మోస్తే, విధానం అమలు కాదు, పత్రం. ఆ అంతరాన్ని ప్రవేశ పొరలో సరిచేయండి, MaxSessions తగ్గించి రెండవ రవాణా గమనిస్తుందని ఆశించడం ద్వారా కాదు.

సంబంధిత వ్యాసాలు