SSD Nodes Learn 8GB RAM — సంవత్సరానికి $66

Ubuntu VPS root పాస్‌వర్డ్ ఎలా మార్చాలి

Ubuntu VPSలో root లేదా user పాస్‌వర్డ్‌ను passwd, chpasswd, chageతో మార్చండి. SSH లేదా root పాస్‌వర్డ్ పోయినప్పుడు తిరిగి లాగిన్ అవ్వడం, కొత్త పాస్‌వర్డ్‌ను ధృవీకరించడం తెలుసుకోండి.

Ubuntuలో మీ VPS root పాస్‌వర్డ్‌ను ఎలా మార్చాలి

Ubuntuలో మీ VPS (వర్చువల్ ప్రైవేట్ సర్వర్) root పాస్‌వర్డ్‌ను మార్చడానికి, sudo అమలు చేయగల వినియోగదారుగా SSH (సెక్యూర్ షెల్) సెషన్‌ను ప్రారంభించి, ఆపై sudo passwd root అమలు చేయండి. ఇది కొత్త పాస్‌వర్డ్‌ను రెండుసార్లు అడుగుతుంది. పాత పాస్‌వర్డ్‌ను అడగదు, ఎందుకంటే sudo ఇప్పటికే మీ గుర్తింపును నిర్ధారించింది. మీ స్వంత లాగిన్ పాస్‌వర్డ్‌ను మార్చడానికి, వాదనలు లేకుండా passwd అమలు చేయండి. ఇది ముందుగా మీ ప్రస్తుత పాస్‌వర్డ్‌ను అడుగుతుంది.

passwd                  # your own password
sudo passwd deploy      # another user's password
sudo passwd root        # root's password

ఇదే మొత్తం ప్రక్రియ. క్రింద ఉన్నది సాధారణంగా సమస్యలు ఏర్పడే భాగం: సెషన్‌ను సరిచేయలేని స్థితికి కోల్పోయే ముందు కొత్త పాస్‌వర్డ్ పనిచేస్తుందో నిర్ధారించడం, స్క్రిప్ట్‌ నుంచి పాస్‌వర్డ్‌లను సెట్ చేయడం, పాస్‌వర్డ్‌ను ఉద్దేశపూర్వకంగా గడువు ముగిసేలా చేయడం, అలాగే పాస్‌వర్డ్ ఇప్పటికే మరిచిపోయినప్పుడు మళ్లీ లాగిన్ కావడం.

పాస్‌వర్డ్‌ను మార్చే ముందు రెండవ సెషన్‌ను తెరవండి

ఇప్పుడే రెండవ SSH సెషన్‌ను తెరిచి, దాన్ని కనెక్ట్‌ అయి ఉన్నట్టుగా ఉంచండి. ఈ గైడ్‌లోని దాదాపు ప్రతి వైఫల్యాన్ని, ఒక authenticated shell ఇంకా పనిచేస్తున్నప్పుడు రెండు నిమిషాల్లో పరిష్కరించవచ్చు. చివరి సెషన్‌ కూడా మూసుకున్న తర్వాత మాత్రం console ద్వారా యాక్సెస్‌ చేయాల్సి రావచ్చు.

ఇప్పటికే తెరిచి ఉన్న shell, దానికి చెందిన account‌ను మీరు మార్చినా, lock చేసినా లేదా expire చేసినా పనిచేస్తూనే ఉంటుంది. కారణం, SSH credentials‌ను login సమయంలో మాత్రమే తనిఖీ చేస్తుంది. ఆ తర్వాత మళ్లీ తనిఖీ చేయదు. దీనికి మినహాయింపు sudo. దాని timestamp గడువు ముగిసినప్పుడు, ఇది PAM (pluggable authentication modules) ద్వారా మీ పాస్‌వర్డ్‌ను మళ్లీ తనిఖీ చేస్తుంది. డిఫాల్ట్‌గా, చివరి prompt తర్వాత 15 minutesకు timestamp గడువు ముగుస్తుంది. కాబట్టి కొత్త పాస్‌వర్డ్‌కు మొదటి నిజమైన పరీక్ష login సమయంలో కాదు. sudo దాన్ని అడిగే తదుపరి సమయంలో జరుగుతుంది.

మొదటి సెషన్‌ను తెరిచి ఉంచి, రెండవ సెషన్‌లో కొత్త పాస్‌వర్డ్‌ను పరీక్షించండి.

passwdతో మీ పాస్‌వర్డ్‌ను మార్చండి

passwd
Changing password for deploy.
Current password:
New password:
Retype new password:
passwd: password updated successfully

passwd: password updated successfully మాత్రమే /etc/shadowలోని hash భర్తీ చేయబడిందని సూచించే output. మరేదైనా output కనిపిస్తే పాత పాస్‌వర్డ్‌నే ఉంచినట్లు అర్థం.

ఇక్కడ రెండు వైఫల్యాలు సంభవిస్తాయి. passwd: Authentication token manipulation error తర్వాత passwd: password unchanged కనిపిస్తే, మీరు టైప్ చేసిన ప్రస్తుత పాస్‌వర్డ్ తప్పు కావచ్చు. లేదా /etc/shadow ఉన్న filesystemలో రాయడం సాధ్యం కాకపోవచ్చు. recovery modeలో ఇది సాధారణ స్థితి. You must choose a longer password. అనేది /etc/pam.d/common-passwordలోని pam_unix నుంచి వస్తుంది. ఇది సాధారణ users కోసం పొడవు మరియు సారూప్యత తనిఖీలను అమలు చేస్తుంది.

చాలా VPS imagesలో default account (ubuntu, లేదా మీ provider అందించే పేరు)కు పాస్‌వర్డ్ ఉండదు. దానికి SSH key మాత్రమే ఉంటుంది. passwd తనిఖీ చేయడానికి ప్రస్తుత పాస్‌వర్డ్ ఉండదు. అందువల్ల అది మొదటి promptను దాటలేడు. దాని బదులుగా sudo passwd $USERను ఉపయోగించండి. imageలోని sudoers drop-in file ఆ accountను పాస్‌వర్డ్ లేకుండా sudo అమలు చేయడానికి అనుమతిస్తుంది.

sudo passwd తో మరొక వినియోగదారు పాస్‌వర్డ్‌ను మార్చడం

sudo passwd deploy

root కోసం పాత పాస్‌వర్డ్ అడగదు. సాధారణ వినియోగదారులకు వర్తించే బల తనిఖీలను pam_unix దాటవేస్తుంది. అందువల్ల వినియోగదారు తనకు తానే సెట్ చేయలేని పాస్‌వర్డ్‌ను root సెట్ చేయగలదు.

లాక్ చేయడం వేరు. నిల్వ చేసిన హ్యాష్‌కు ముందు ! ను sudo passwd -l deploy జోడిస్తుంది. అందువల్ల ఏ పాస్‌వర్డ్‌ కూడా దానితో సరిపోలదు. sudo passwd -u deploy దాన్ని తొలగిస్తుంది. sudo passwd -S deploy తో స్థితిని మళ్లీ చదవండి.

పాస్‌వర్డ్‌ను లాక్ చేయడం వల్ల ఆ వినియోగదారు login చేయడం ఆగదు. వారి ~/.ssh/authorized_keys లో ఉన్న ఏ key అయినా ఇంకా పనిచేస్తుంది. ఎందుకంటే public key authentication ఎప్పుడూ /etc/shadow ను చదవదు. ఖాతాను పూర్తిగా ఆపాలంటే ఖాతానే expire చేయండి:

sudo usermod --expiredate 1 deploy

ఇది ఖాతా expiryని 1970లోని ఒక తేదీకి సెట్ చేస్తుంది. అందువల్ల ఏ credential ఇచ్చినా sshd loginను తిరస్కరిస్తుంది. sudo usermod --expiredate '' deploy తో దీన్ని రద్దు చేయండి.

passwd -d ను ఉపయోగించవద్దు. ఇది ఖాతాను లాక్ చేయడానికి బదులుగా ఖాళీ పాస్‌వర్డ్‌ను సెట్ చేస్తుంది. పాత releaseలో PAM stackలో nullok ఇంకా ఉన్నట్లయితే, ఖాళీ పాస్‌వర్డ్‌ను ఎవరైనా ఉపయోగించగలరు.

VPSలో rootకు పాస్‌వర్డ్ అవసరమా?

Ubuntuలో root ఖాతా లాక్ చేయబడి ఉంటుంది. /etc/shadow ఒక hashకు బదులుగా !ను ఉంచుతుంది, మరియు sudo passwd -S root root Lతో ప్రారంభమయ్యే పంక్తిని చూపిస్తుంది. మీరు పాస్‌వర్డ్ సెట్ చేసే వరకు ఎవరూ పాస్‌వర్డ్‌తో rootగా లాగిన్ కాలేరు. అందుకే image మీకు sudo సామర్థ్యం ఉన్న వినియోగదారుని అందిస్తుంది. rootగా కాకుండా VPSలో కనీస అనుమతులతో వినియోగదారు ఖాతాలు ఉపయోగించడం కొనసాగించాల్సిన విధానం.

root పాస్‌వర్డ్ సెట్ చేయడం ద్వారా ఒక నిర్దిష్ట ప్రయోజనం లభిస్తుంది: provider console ద్వారా ప్రవేశించే మార్గం. ఆ console network stack కింద ఉన్న virtual machineకు అనుసంధానమవుతుంది. అందువల్ల sshd తప్పుగా configure చేయబడినా లేదా firewall rule తప్పుగా ఉన్నా అది పనిచేస్తుంది. అయితే దీనికి ప్రతికూలత కూడా ఉంది. rootకు పాస్‌వర్డ్ ఉన్నప్పుడు, GRUB recovery menuలోని root shell root పాస్‌వర్డ్‌ను అడుగుతుంది. అంటే మరచిపోయిన పాస్‌వర్డ్‌ను reset చేయడానికి మీరు ఉపయోగించే సాధనం అదే పాస్‌వర్డ్ వెనుక చిక్కుకుపోతుంది.

root పాస్‌వర్డ్ సెట్ చేయడం వల్ల root SSH ద్వారా లాగిన్ కాలేడు. Ubuntuలో PermitRootLogin prohibit-password ఉంటుంది, అంటే keys మాత్రమే అనుమతించబడతాయి. మీ server వాస్తవంగా ఏమి ఉపయోగిస్తుందో తనిఖీ చేయండి:

sudo sshd -T | grep -i permitrootlogin

ప్రతి Include line పరిష్కరించిన తర్వాత అమలులో ఉన్న configurationను sshd -T చూపిస్తుంది. అందువల్ల /etc/ssh/sshd_config.d/ drop-in filesను కలిగి ఉన్నప్పుడు ఇదే ఖచ్చితమైన సమాధానం.

chpasswd తో స్క్రిప్ట్ నుంచి పాస్‌వర్డ్ సెట్ చేయడం

passwd టెర్మినల్ నుంచి ఇన్‌పుట్‌ను చదువుతుంది. స్క్రిప్ట్ నుంచి దాన్ని నడపలేరు. chpasswd ప్రామాణిక ఇన్‌పుట్ నుంచి ఒక్కో లైన్‌కు ఒకటి చొప్పున user:password జతలను చదువుతుంది.

printf '%s:%s\n' 'deploy' "$NEW_PASSWORD" | sudo chpasswd

ఇది పనిచేస్తుంది. అయితే plaintext పాస్‌వర్డ్ మీ shell history మరియు CI (continuous integration) లాగ్‌లలోకి చేరుతుంది. ముందుగా దానికి hash రూపొందించండి:

HASH=$(openssl passwd -6)
printf '%s:%s\n' 'deploy' "$HASH" | sudo chpasswd -e

openssl passwd -6 echo లేకుండా పాస్‌వర్డ్‌ను రెండుసార్లు అడుగుతుంది. ఆ తర్వాత $6$ తో ప్రారంభమయ్యే SHA-512 crypt hash‌ను ముద్రిస్తుంది. రెండో field ఇప్పటికే hash చేయబడిందని -e, chpasswd కు తెలియజేస్తుంది. అందువల్ల అది ఉన్న విధంగానే /etc/shadow లోకి కాపీ అవుతుంది. ఈ hash‌ను repository లేదా CI variable‌లో భద్రంగా ఉంచవచ్చు. మీరు టైప్ చేసిన plaintext, మీరు టైప్ చేసిన machine‌ను ఎప్పుడూ విడిచిపెట్టదు.

passwd పాస్‌వర్డ్‌లను సెట్ చేసినప్పుడు Ubuntu 24.04 కొత్త పాస్‌వర్డ్‌లకు yescrypt ($y$) hash‌ను ఉపయోగిస్తుంది. అయితే openssl passwd -6 మీకు SHA-512 ఇస్తుంది. libxcrypt రెండు formats‌ను చదవగలదు కాబట్టి, login సమయంలో రెండింటినీ verify చేస్తుంది. వాటిని కలిపి ఉపయోగించడం సమస్య కాదు. openssl passwd -6 అన్ని Ubuntu LTS releasesలో ఒకే విధంగా పనిచేస్తుంది. chpasswd -c YESCRYPT అలా పనిచేయదు: 20.04లోని పాత shadow packageకు ఆ method name తెలియదు.

పాస్‌వర్డ్ నిజంగా మారిందో ఎలా తనిఖీ చేయాలి?

ముందుగా మెటాడేటాను పరిశీలించండి. ఆ తర్వాత login ద్వారా నిర్ధారించండి.

sudo passwd -S deploy
deploy P 08/01/2026 0 99999 7 -1

రెండవ ఫీల్డ్ స్థితిని చూపిస్తుంది: ఉపయోగించగల పాస్‌వర్డ్‌కు P, లాక్ చేసిన పాస్‌వర్డ్‌కు L, పాస్‌వర్డ్ ఏదీ లేనప్పుడు NP. తేదీ పాస్‌వర్డ్ చివరిసారిగా మారిన తేదీ. అందువల్ల అది ఈరోజు తేదీగా కనిపించాలి. దాని తర్వాతి సంఖ్యలు దిగువ వివరించిన aging ఫీల్డ్‌లు.

ప్రత్యక్షంగా పరీక్షించడానికి అత్యంత సురక్షితమైన మార్గం sudo. sudo -k క్యాష్ చేసిన timestamp‌ను తొలగిస్తుంది. sudo -v కొత్త prompt‌ను తప్పనిసరిగా చూపిస్తుంది. అక్కడ కొత్త పాస్‌వర్డ్ అంగీకరించబడితే, PAM దాన్ని అంగీకరించినట్లు అర్థం. మీ session‌లో ఎలాంటి మార్పు జరగదు.

sudo -k && sudo -v

మరొక account‌ను పరీక్షించడానికి, అధిక privileges లేని shell నుంచి su - deploy నడపండి. sudo su - deploy నడపకండి. root‌ను ఎప్పుడూ పాస్‌వర్డ్ అడగరు, కాబట్టి ఆ పరీక్షతో ఏదీ నిర్ధారించలేరు. తప్పు పాస్‌వర్డ్ ఇచ్చినప్పుడు su: Authentication failure చూపిస్తుంది.

పని చేస్తున్న session‌ను తెరిచి ఉంచి, మీ laptop నుంచి కొత్త SSH login చేయడం అసలు పరీక్ష:

ssh -o PubkeyAuthentication=no deploy@203.0.113.10

ఇక్కడ Permission denied (publickey). అంటే server password authentication‌ను ఎప్పుడూ అందించలేదని అర్థం. అందువల్ల పాస్‌వర్డ్ మార్చినా login చేయలేరు. Permission denied, please try again. అంటే server password authentication‌ను అందించింది, కానీ మీరు నమోదు చేసిన పాస్‌వర్డ్‌ను తిరస్కరించింది.

chage తో తదుపరి login సమయంలో పాస్‌వర్డ్ మార్పును తప్పనిసరి చేయడం

sudo chage -d 0 deploy

-d 0 చివరి మార్పు తేదీని epoch‌కు సెట్ చేస్తుంది. అందువల్ల PAM పాస్‌వర్డ్ గడువు ముగిసినట్లు పరిగణిస్తుంది. తదుపరి interactive login సమయంలో shell ఇవ్వడానికి ముందు ప్రస్తుత పాస్‌వర్డ్‌ను, ఆ తర్వాత కొత్త పాస్‌వర్డ్‌ను అడుగుతుంది. sudo passwd -e deploy కూడా ఇదే పని చేస్తుంది.

పాస్‌వర్డ్‌తో interactive login చేసే accounts కోసం మాత్రమే దీన్ని ఉపయోగించండి. గడువు ముగిసిన పాస్‌వర్డ్ key ఆధారిత login‌లను కూడా ప్రభావితం చేస్తుంది. కారణం, key authentication జరిగినప్పటికీ sshd PAM account దశను అమలు చేస్తుంది. scripted ssh deploy@203.0.113.10 'systemctl restart app' ఈ సందేశంతో విఫలమై ఆగిపోతుంది:

Password change required but no TTY available.

ఆ పంక్తి తర్వాత ఏదీ అమలు కాదు. job non-zero exit code మాత్రమే నివేదిస్తుంది.

పాస్‌వర్డ్ గడువు ఫీల్డ్‌ల అర్థం

sudo chage -l deploy
Last password change                                    : Aug 01, 2026
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

ఆ సంఖ్యలు /etc/shadowలోని ఆ వినియోగదారు పంక్తిలోని 4 నుంచి 8 ఫీల్డ్‌లు. కనీస రోజుల (chage -m) విలువ, వినియోగదారు మళ్లీ పాస్‌వర్డ్ మార్చడానికి ముందు వేచి ఉండాల్సిన సమయాన్ని సూచిస్తుంది. బలవంతంగా మార్చిన వెంటనే పాత పాస్‌వర్డ్‌కు తిరిగి మారకుండా ఇది నిరోధిస్తుంది. గరిష్ఠ రోజుల (chage -M) విలువ, పాస్‌వర్డ్ ఎంతకాలం చెల్లుబాటులో ఉంటుందో సూచిస్తుంది. హెచ్చరిక రోజుల (chage -W) విలువ, login సమయంలో హెచ్చరికలు చూపించడం ఎప్పుడు ప్రారంభించాలో సూచిస్తుంది. నిష్క్రియ రోజుల (chage -I) విలువ, గడువు ముగిసిన తర్వాత పాస్‌వర్డ్‌ను పూర్తిగా అంగీకరించడం ఆపే ముందు ఉండే అదనపు గడువు. ఖాతా గడువు (chage -E) ఒక ఖచ్చితమైన తేదీ. ఇది పాస్‌వర్డ్ గడువుతో సంబంధం లేకుండా స్వతంత్రంగా ఉంటుంది.

sudo chage -M 90 -W 14 deploy

పాలసీ అవసరమైనప్పుడు మాత్రమే దీన్ని సెట్ చేయండి. NIST (US National Institute of Standards and Technology) 2017 నుంచి సాధారణ పాస్‌వర్డ్ గడువు విధానాన్ని నివారించాలని సూచిస్తోంది. ఎందుకంటే అది ఒకే పాస్‌వర్డ్‌కు సులభంగా ఊహించగల మార్పులను ఉపయోగించడానికి ప్రజలను ప్రేరేపిస్తుంది. పాస్‌వర్డ్ బహిర్గతమైనట్లు ఆధారం ఉన్నప్పుడు మాత్రమే దాన్ని మార్చడం తప్పనిసరి చేయాలని NIST సిఫార్సు చేస్తోంది. password managerలో నిల్వ చేసిన పొడవైన, ప్రత్యేకమైన పాస్‌వర్డ్‌తో పాటు key based SSH ఉపయోగించడం, 90 రోజుల చక్రం కంటే మెరుగైనది.

root పాస్‌వర్డ్‌ను కోల్పోయినప్పుడు ఏమి చేయాలి

సర్వర్‌లోని ఏదైనా ఖాతా sudo ను అమలు చేయగలిగితే, తిరిగి పొందాల్సినదేమీ లేదు: sudo passwd root కొత్త పాస్‌వర్డ్‌ను సెట్ చేస్తుంది. పనిచేసే login ఏదీ లేనప్పుడే పరిస్థితి క్లిష్టంగా ఉంటుంది.

క్రిందివన్నీ provider console అవసరం చేస్తాయి. చాలా panels‌లో దీన్ని VNC (virtual network computing) లేదా serial consoleగా చూపిస్తారు. ఇది network stack కింద ఉన్న virtual machine‌కు నేరుగా అనుసంధానమవుతుంది. అందువల్ల sshd settings మరియు firewall rules దీనిపై ప్రభావం చూపవు.

  1. panel నుంచి serverను reboot చేసి, consoleను గమనించండి.
  2. GRUB menuను తెరవండి. Cloud imagesలో సాధారణంగా GRUB_TIMEOUT=0 సెట్ అయి ఉంటుంది. అందువల్ల BIOS bootలో reboot ప్రారంభమైన వెంటనే Shift ను నొక్కి ఉంచండి. UEFI bootలో Esc ను పదేపదే నొక్కండి.
  3. Advanced options for Ubuntu ను ఎంచుకోండి. తర్వాత (recovery mode) తో ముగిసే entryని ఎంచుకోండి. ఆపై recovery menuలో root ను ఎంచుకోండి.
  4. ముందుగా mount -o remount,rw / ను అమలు చేయండి. Recovery root filesystemను read-onlyగా mount చేస్తుంది. అందువల్ల ఇది లేకపోతే passwd విఫలమవుతుంది. రాయలేకపోవడం వల్ల దీనికి passwd: Authentication token manipulation error వస్తుంది; కారణం /etc/shadow కు రాయలేకపోవడమే.
  5. అవసరమైన account కోసం passwd ubuntu ను అమలు చేసి, తర్వాత panel నుంచి reboot చేయండి.

rootకు ఇప్పటికే పాస్‌వర్డ్ ఉండి, మీరు కోల్పోయింది అదే అయితే, ఆ recovery shell దాన్ని అడుగుతుంది. అప్పుడు ఈ విధానం పనిచేయదు. బదులుగా provider యొక్క rescue imageలో boot చేయండి. తర్వాత అసలు diskను mount చేసి, దాని లోపల పాస్‌వర్డ్‌ను మార్చండి.

lsblk
sudo mount /dev/vda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt passwd ubuntu
sudo umount -R /mnt

/dev/vda1 ను ఈ పేజీ నుంచి కాపీ చేయకుండా, partition layoutను lsblk నుంచి చదవండి. root partition సాధారణంగా పెద్దదిగా ఉంటుంది. UEFI imageలో ఇది చిన్న EFI partition పక్కన ఉంటుంది. ఆ EFI partitionలో /etc directory అసలు ఉండదు.

SSH మీ పాస్‌వర్డ్‌ను అంగీకరించడం ఆపినప్పుడు ఏమి చేయాలి

మీ వద్ద ఇంకా ఉన్న session‌ నుంచే పని చేయండి. session ఏదీ మిగలకపోతే console‌ను ఉపయోగించండి.

Permission denied, please try again. అంటే server password authentication‌ను అందించి, మీరు పంపినదాన్ని తిరస్కరించిందని అర్థం. సాధారణ కారణాలు caps lock ఆన్‌లో ఉండటం లేదా పాస్‌వర్డ్‌ను సెట్ చేసినప్పుడు ఉపయోగించిన keyboard layout‌కు భిన్నమైన console keyboard layout ఉండటం.

Permission denied (publickey). అంటే server password authentication‌ను అసలు అందించలేదని అర్థం. PasswordAuthentication no ఎక్కడో set అయి ఉంది. Ubuntu 22.04 మరియు తరువాతి versions‌లో ఇది సాధారణంగా /etc/ssh/sshd_config.d/ కింద ఉన్న drop-in file‌లో ఉంటుంది. ఈ file, ప్రధాన file‌లోని settings‌ను override చేస్తుంది. అమల్లో ఉన్న values‌ను చదవండి:

sudo sshd -T | grep -Ei 'passwordauthentication|kbdinteractiveauthentication|permitrootlogin'

KbdInteractiveAuthentication yes ను PasswordAuthentication no తో పాటు ఉంచితే password ద్వారా login ఇంకా సాధ్యమే. కారణం, keyboard-interactive method అదే PAM stack‌ను అమలు చేస్తుంది. ఒకదాన్ని off చేసి, మరొకదాన్ని on‌లో ఉంచడం వల్ల key-onlyలా కనిపించే server typed passwords‌ను ఇంకా అంగీకరిస్తుంది.

Disconnect message‌లో Too many authentication failures కనిపిస్తే, మీ client password‌కు చేరుకునే ముందు అనేక keys‌ను ప్రయత్నించిందని అర్థం. అప్పుడు server MaxAuthTries పరిమితిని చేరుకుంది. దీని default విలువ 6. ఒకే method‌ను బలవంతంగా ఉపయోగించండి:

ssh -o IdentitiesOnly=yes -o PubkeyAuthentication=no deploy@203.0.113.10

ఒక నిమిషం క్రితం పనిచేసిన port‌పై Connection refused కనిపిస్తే, repeated failures తర్వాత SSH‌ను monitor చేస్తున్న fail2ban మీ address‌ను ban చేసి ఉండవచ్చు. దీని default ban rule packet‌ను drop చేయకుండా reject చేస్తుంది. అందువల్ల refusal timeout కాకుండా త్వరగా తిరిగి వస్తుంది. Console నుంచి sudo fail2ban-client status sshd banned addresses‌ను చూపిస్తుంది. sudo fail2ban-client set sshd unbanip 203.0.113.10 మీ address‌పై ఉన్న ban‌ను తొలగిస్తుంది.

Passwords ఒక ప్రారంభ దశ మాత్రమే, keys తుది స్థితి

SSH ద్వారా పనిచేసే passwordను ఇంటర్నెట్‌లోని ప్రతి scanner ఊహించగలదు. Key based authenticationకు మారితే ఈ ఊహాగానాల సమస్య ఉండదు. ఒక key pairను రూపొందించి, public భాగాన్ని install చేయండి. ఇతర మార్పులు చేయడానికి ముందు, రెండవ terminal నుంచి ఆ key మిమ్మల్ని login చేయిస్తుందని నిర్ధారించండి. SSH key నిర్వహణ ప్రాథమికాలులో generation, authorized_keys మరియు passphrases గురించి వివరాలు ఉన్నాయి.

తర్వాత password authenticationను ఆఫ్ చేయండి. మీరు మార్చిన fileను మాత్రమే నమ్మకుండా, sudo sshd -Tతో దీనిని నిర్ధారించండి. VPSలో SSHను కఠినతరం చేయడంలో మార్చాల్సిన మిగిలిన sshd settings వివరించబడ్డాయి. కొత్త VPSలో మొదటి పది నిమిషాలులో వాటిని కొత్త serverలో అమలు చేయాల్సిన క్రమం ఉంది.

ఆ తర్వాత ఒక passwordను మాత్రం ఉంచండి. Key-only serverలో sshd config దెబ్బతింటే, provider console ద్వారానే దాన్ని చేరుకోవచ్చు. ఆ console username మరియు password అడుగుతుంది. మీరు భద్రపరిచి ఉంచిన strong passwordతో కూడిన account ఉంటే, ఐదు నిమిషాల పరిష్కారం మరియు reinstall మధ్య తేడా ఉంటుంది.

FAQ

నా VPSలో పాత root పాస్‌వర్డ్ తెలియకపోతే దాన్ని ఎలా మార్చాలి?

sudo ను అమలు చేయగల వినియోగదారుగా లాగిన్ అయి, sudo passwd root ను అమలు చేయండి. ఇది పాత పాస్‌వర్డ్ అడగకుండా కొత్త పాస్‌వర్డ్‌ను సెట్ చేస్తుంది, ఎందుకంటే sudo ఇప్పటికే మీకు ప్రామాణీకరణ పూర్తి చేసింది. ఆ సిస్టమ్‌లోని ఏ ఖాతా కూడా sudo ను అమలు చేయలేకపోతే, provider console తెరిచి, GRUB recovery menuలోకి reboot చేసి, root shell entryని ఎంచుకోండి. తర్వాత mount -o remount,rw / ను అమలు చేసి, ఆపై passwd ను అమలు చేయండి. rootకు ఇప్పటికే పాస్‌వర్డ్ ఉండి, మీరు కోల్పోయింది అదే అయితే, recovery shell ఆ పాస్‌వర్డ్‌ను అడుగుతుంది. అప్పుడు మిగిలే మార్గం provider యొక్క rescue imageను ఉపయోగించి, diskను mount చేసి chroot చేయడం.

passwd "Authentication token manipulation error" అని ఎందుకు చూపిస్తుంది?

ఈ సందేశానికి రెండు కారణాలు ఉన్నాయి. సాధారణ కారణం Current password: prompt వద్ద తప్పు సమాధానం ఇవ్వడం. దాని కింద ఉన్న passwd: password unchanged line ఏదీ రాయబడలేదని నిర్ధారిస్తుంది. మరో కారణం filesystemలో రాయడం సాధ్యం కాకపోవడం. recovery modeలో / read-onlyగా mount అయి ఉండటంతో ఇది జరుగుతుంది. mount -o remount,rw / ను అమలు చేసి మళ్లీ ప్రయత్నించండి.

నా Linux పాస్‌వర్డ్ మార్చితే sudo పాస్‌వర్డ్ కూడా మారుతుందా?

అవును. sudo కు స్వంత పాస్‌వర్డ్ ఉండదు. ఇది PAM ద్వారా SSH మరియు su ఉపయోగించే అదే /etc/shadow entryతో మీకు ప్రామాణీకరణ చేస్తుంది. అందువల్ల ప్రతి ఖాతాకు ఒకే పాస్‌వర్డ్ ఉంటుంది. మార్పు తర్వాత కనిపించే మొదటి sudo prompt నిజమైన పరీక్ష కావడానికి ఇదే కారణం. మీ session ఇంకా పనిచేస్తున్నప్పుడే ఆ promptను బలవంతంగా చూపించడానికి sudo -k && sudo -v ను అమలు చేయండి.

నా పాస్‌వర్డ్ మార్చితే SSH keys లేదా ప్రస్తుతం తెరిచి ఉన్న sessions పనిచేయడం ఆగిపోతుందా?

లేదు. Public key authentication /etc/shadow ను ఎప్పుడూ చదవదు. అందువల్ల పాస్‌వర్డ్ మార్చిన తర్వాత, passwd -l తర్వాత, అలాగే chage -d 0 తర్వాత కూడా keys పనిచేస్తాయి. ఇప్పటికే తెరిచి ఉన్న sessions కొనసాగుతాయి, ఎందుకంటే SSH credentialsను login సమయంలో మాత్రమే తనిఖీ చేస్తుంది. live sessionలో మారేది ఒక్క sudo మాత్రమే. దాని 15 నిమిషాల timestamp ముగిసిన తర్వాత ఇది కొత్త పాస్‌వర్డ్‌ను ఒక్కసారి అడుగుతుంది.

తదుపరి login సమయంలో వినియోగదారు పాస్‌వర్డ్ మార్చేలా ఎలా బలవంతం చేయాలి?

sudo chage -d 0 deploy ను అమలు చేయండి. లేదా అదే పని చేసే sudo passwd -e deploy ను అమలు చేయండి. నిల్వ చేసిన last-change తేదీ epochకు మారుతుంది. PAM పాస్‌వర్డ్ గడువు ముగిసినట్లు పరిగణిస్తుంది. తదుపరి interactive loginలో shell ప్రారంభమయ్యే ముందు కొత్త పాస్‌వర్డ్ సెట్ చేయాలి. SSH ద్వారా scripts ఉపయోగించే ఖాతాకు ఇలా చేయవద్దు. అప్పుడు non-interactive command Password change required but no TTY available. తో విఫలమై, ఎప్పటికీ అమలు కాదు.

#vps#ubuntu#passwords#ssh#server-security