మీ యాప్లో SSH పర్మిషన్ ఎర్రర్లను పరిష్కరించడం
కొత్త SSH వినియోగదారులు తరచుగా ఇబ్బందులను ఎదుర్కొంటారు. వారు ఈ ఎర్రర్ను చూస్తారు:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0644 for 'id_rsa.pem' are too open.
దీనికి పరిష్కారం ఒక సాధారణ టెర్మినల్ కమాండ్: chmod 600 id_rsa.pem. ఇంజనీర్లకు ఇది సులభం. కానీ టెర్మినల్స్ ఉపయోగించని ఏజెన్సీ సిబ్బంది లేదా IT ఆపరేటర్లకు ఇది ఒక పెద్ద అడ్డంకి. దీనివల్ల నిరంతరం సపోర్ట్ టికెట్లు వస్తుంటాయి.
దీనిని మా యాప్లోనే పరిష్కరించాలని మేము నిర్ణయించుకున్నాము. పర్మిషన్లను స్వయంచాలకంగా (automatically) గుర్తించి, సరిచేయడానికి మేము ఒక వ్యవస్థను రూపొందించాము.
సమస్య
పర్మిషన్లు చాలా తక్కువగా (loose) ఉంటే OpenSSH ప్రైవేట్ కీని లోడ్ చేయడానికి నిరాకరిస్తుంది. ఇతరులు మీ కీని చదవగలిగితే, మీ భద్రత దెబ్బతింటుంది. చాలా కీలు డిఫాల్ట్గా 0644 పర్మిషన్లతో ఉంటాయి, ఇది ఎవరైనా చదవగలిగేలా (world-readable) ఉంటుంది. OpenSSH కి 0600 అవసరం.
మా పరిష్కారం
దీనిని నిర్వహించడానికి మేము రెండు దశల విధానాన్ని ఉపయోగిస్తాము.
దశ 1: వైఫల్యం తర్వాత రికవరీ (Post-failure recovery)
పర్మిషన్ల కారణంగా కనెక్షన్ విఫలమైతే, UI లో 'Fix and retry' బటన్ కనిపిస్తుంది. దానిని క్లిక్ చేయడం ద్వారా పర్మిషన్లు సరిచేయబడతాయి మరియు కనెక్షన్ మళ్ళీ ప్రయత్నించబడుతుంది.
దశ 2: కనెక్షన్కు ముందు నివారణ (Pre-connection prevention)
వినియోగదారు కనెక్ట్ బటన్ను క్లిక్ చేయడానికి ముందే యాప్ కీ పాత్ను తనిఖీ చేస్తుంది. పర్మిషన్లు తప్పుగా ఉంటే, మేము హెచ్చరికను చూపిస్తాము. వినియోగదారు దానిని సరిచేయాలా లేదా ఉన్నది ఉన్నట్లుగా కనెక్ట్ అవ్వాలా అనేది ఎంచుకోవచ్చు.
మేము విండోస్ (Windows) కోసం కూడా వేరుగా వ్యవహరిస్తాము. విండోస్, Unix పర్మిషన్లకు బదులుగా ACLలను ఉపయోగిస్తుంది. మా కోడ్ ప్లాట్ఫారమ్ను గుర్తించి, యాక్సెస్ను సరిచేయడానికి icacls వంటి సరైన కమాండ్ను రన్ చేస్తుంది.
మేము ఎందుకు స్వయంచాలకంగా (silently) సరిచేయము?
స్టార్టప్ సమయంలో కీలను స్వయంచాలకంగా సరిచేయాలని మేము ఆలోచించాము. కానీ ఆ ఆలోచనను మేము తిరస్కరించాము. కొన్ని వర్క్ఫ్లోలకు షేర్డ్ కీల కోసం నిర్దిష్ట పర్మిషన్లు అవసరమవుతాయి. మేము అడగకుండా వాటిని మారిస్తే, వినియోగదారు యొక్క వర్క్ఫ్లో దెబ్బతింటుంది.
మా నియమం సరళమైనది: మేము ప్రతిదీ గుర్తిస్తాము (diagnose), కానీ వినియోగదారు బటన్ను క్లిక్ చేసినప్పుడు మాత్రమే ఫైళ్లను మారుస్తాము.
ఫలితం
సాంకేతిక అడ్డంకులను సులభతరం చేసేలా UXని రూపొందించడం వల్ల సపోర్ట్ టికెట్ల సంఖ్య తగ్గుతుంది. వినియోగదారుకు ఏమి తప్పుగా ఉందో మేము చూపిస్తాము మరియు వన్-క్లిక్ పరిష్కారాన్ని అందిస్తాము. ఇది టెర్మినల్ ఉపయోగించాలనే మానసిక అడ్డంకిని తొలగిస్తుంది.