SSD Nodes Learn 8GB RAM — $66/वर्ष
मार्गदर्शक Matt Connorद्वारे Matt Connor

Ubuntu VPS चा root पासवर्ड कसा बदलावा

Ubuntu VPS वर root किंवा user पासवर्ड बदलण्यासाठी passwd, chpasswd आणि chage वापरा. SSH सत्रात बदल पडताळा आणि पासवर्ड हरवल्यास पुन्हा प्रवेश मिळवा.

Ubuntu वर तुमचा VPS root पासवर्ड कसा बदलावा

Ubuntu वर तुमचा VPS (virtual private server) root पासवर्ड बदलण्यासाठी, sudo चालवू शकणाऱ्या वापरकर्त्याच्या रूपात SSH (secure shell) सत्र उघडा आणि नंतर sudo passwd root चालवा. हा नवीन पासवर्ड दोनदा विचारतो. जुन्या पासवर्डची विचारणा करत नाही, कारण sudo ने तुमची ओळख आधीच पडताळली आहे. त्याऐवजी तुमचा स्वतःचा लॉगिन पासवर्ड बदलण्यासाठी, कोणतेही आर्ग्युमेंट न देता passwd चालवा. या वेळी तो प्रथम तुमचा सध्याचा पासवर्ड विचारतो.

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

हीच संपूर्ण प्रक्रिया आहे. खालील भागांमध्ये प्रत्यक्षात उद्भवणाऱ्या समस्या स्पष्ट केल्या आहेत: सत्र गमावण्यापूर्वी नवीन पासवर्ड कार्यरत असल्याचे पडताळणे, स्क्रिप्टमधून पासवर्ड सेट करणे, पासवर्डची मुदत जाणूनबुजून संपवणे आणि पासवर्ड आधीच गमावला असल्यास पुन्हा प्रवेश मिळवणे.

पासवर्डमध्ये बदल करण्यापूर्वी दुसरे सत्र उघडा

आता दुसरे SSH सत्र उघडा आणि ते जोडलेले ठेवा. या मार्गदर्शिकेतील जवळजवळ प्रत्येक त्रुटीचे निराकरण, एक प्रमाणीकृत shell अद्याप चालू असताना दोन मिनिटांत करता येते. शेवटचे सत्र बंद झाल्यावर मात्र console वर जावे लागू शकते.

आधीपासून उघडलेले shell, त्याच्याशी संबंधित account मध्ये तुम्ही बदल केला, ते lock केले किंवा त्याची मुदत संपवली तरी कार्यरत राहते. कारण SSH login वेळी credentials तपासते आणि त्यानंतर पुन्हा तपासत नाही. याला sudo हा अपवाद आहे. त्याचा timestamp संपल्यानंतर ते PAM (pluggable authentication modules) द्वारे तुमचा password पुन्हा तपासते. Default नुसार, शेवटच्या prompt नंतर 15 मिनिटांनी timestamp संपतो. त्यामुळे नवीन password ची पहिली वास्तविक चाचणी login वेळी होत नाही. sudo तो मागते तेव्हा ती होते.

पहिले सत्र उघडे ठेवून दुसऱ्या सत्रात नवीन password तपासा.

passwd वापरून स्वतःचा पासवर्ड बदला

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

passwd: password updated successfully हेच एकमेव आउटपुट आहे ज्याचा अर्थ /etc/shadow मधील hash बदलला गेला आहे. इतर कोणत्याही आउटपुटमध्ये जुना पासवर्ड कायम राहतो.

येथे दोन प्रकारच्या त्रुटी येतात. 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 वापरा. त्या account ला image मधील sudoers drop-in file sudo पासवर्डशिवाय चालवण्याची परवानगी देते, म्हणून ते कार्य करते.

sudo passwd वापरून दुसऱ्या वापरकर्त्याचा पासवर्ड बदला

sudo passwd deploy

root कडे जुना पासवर्ड विचारला जात नाही. तसेच, pam_unix सामान्य वापरकर्त्यांसाठी लागू असलेल्या पासवर्डची ताकद तपासण्या वगळते. त्यामुळे root असा पासवर्ड सेट करू शकतो, जो वापरकर्ता स्वतःसाठी सेट करू शकला नसता.

लॉक करणे ही स्वतंत्र कृती आहे. sudo passwd -l deploy साठवलेल्या hash च्या आधी ! ठेवते. त्यामुळे कोणताही पासवर्ड त्याच्याशी जुळत नाही. sudo passwd -u deploy ते काढून टाकते. स्थिती पुन्हा तपासण्यासाठी sudo passwd -S deploy वाचा.

पासवर्ड लॉक केल्याने त्या वापरकर्त्याला लॉग इन करण्यापासून रोखले जात नाही. त्याच्या ~/.ssh/authorized_keys मधील कोणतीही key अद्याप कार्यरत राहते, कारण public key authentication /etc/shadow कधीही वाचत नाही. खाते पूर्णपणे बंद करण्यासाठी स्वतः खाते expire करा:

sudo usermod --expiredate 1 deploy

यामुळे खाते expiry ची तारीख 1970 वर सेट होते. त्यामुळे कोणतेही credential दिले तरी sshd लॉग इन नाकारते. हे पूर्ववत करण्यासाठी sudo usermod --expiredate '' deploy वापरा.

passwd -d टाळा. ते पासवर्ड लॉक करण्याऐवजी रिकामा पासवर्ड सेट करते. जुन्या release मध्ये PAM stack मध्ये nullok अद्याप असल्यास, रिकामा पासवर्ड कोणताही वापरकर्ता वापरू शकतो.

VPS वर root खात्याला पासवर्ड आवश्यक आहे का?

Ubuntu मध्ये root खाते लॉक केलेले असते. /etc/shadow मध्ये हॅशऐवजी ! असते आणि sudo passwd -S root मध्ये root L ने सुरू होणारी ओळ प्रदर्शित होते. तुम्ही पासवर्ड सेट करेपर्यंत पासवर्ड वापरून root म्हणून लॉग इन करता येत नाही. म्हणून image त्याऐवजी sudo सक्षम वापरकर्ता देते. root म्हणून काम करण्याऐवजी VPS वरील किमान विशेषाधिकार असलेली वापरकर्ता खाती वापरणे हीच कायम ठेवण्याची पद्धत आहे.

root पासवर्ड सेट केल्याने एक विशिष्ट सुविधा मिळते: provider console द्वारे प्रवेश. ही console network stack च्या खाली virtual machine शी जोडलेली असते. त्यामुळे sshd चुकीचे configure केलेले असले किंवा firewall नियम चुकीचा असला तरी ती कार्यरत राहते. मात्र त्याची किंमतही आहे. root खात्याला पासवर्ड असल्यास GRUB recovery menu मधील root shell तो पासवर्ड विचारते. त्यामुळे विसरलेला पासवर्ड reset करण्यासाठी वापरायचे साधन आता त्याच पासवर्डच्या मागे राहते.

root पासवर्ड सेट केल्याने root म्हणून SSH द्वारे लॉग इन करता येत नाही. Ubuntu मध्ये PermitRootLogin prohibit-password असते, म्हणजे केवळ keys वापरता येतात. तुमचा server प्रत्यक्षात कोणती configuration वापरतो ते तपासा:

sudo sshd -T | grep -i permitrootlogin

प्रत्येक Include ओळ सोडवल्यानंतरची effective configuration sshd -T प्रदर्शित करते. त्यामुळे /etc/ssh/sshd_config.d/ मध्ये drop-in files असतील, तर हेच एकमेव अचूक उत्तर आहे.

passwd वापरून स्क्रिप्टमधून पासवर्ड सेट करा

passwd टर्मिनलकडून इनपुट वाचते आणि स्क्रिप्टमधून नियंत्रित करता येत नाही. chpasswd standard input वरून user:password जोड्या वाचते, प्रत्येक ओळीवर एक जोडी.

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

हे कार्य करते; परंतु त्यामुळे plaintext पासवर्ड तुमच्या shell history मध्ये आणि CI (continuous integration) logs मध्ये नोंदवला जातो. त्याऐवजी आधी त्याचा hash तयार करा:

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

openssl passwd -6 पासवर्ड दोनदा विचारते आणि इनपुट दाखवत नाही. त्यानंतर ती $6$ ने सुरू होणारा SHA-512 crypt hash दाखवते. -e, दुसरे field आधीच hashed आहे असे chpasswd ला सांगते. त्यामुळे ते /etc/shadow मध्ये जसेच्या तसे कॉपी केले जाते. हा hash repository किंवा CI variable मध्ये सुरक्षितपणे ठेवता येतो. तुम्ही टाइप केलेल्या मशीनबाहेर plaintext कधीही जात नाही.

passwd पासवर्ड सेट करते तेव्हा Ubuntu 24.04 नवीन पासवर्डसाठी yescrypt ($y$) वापरते. याउलट openssl passwd -6 तुम्हाला SHA-512 देते. login वेळी दोन्ही hash पडताळले जातात, कारण libxcrypt दोन्ही formats वाचते. ते एकत्र वापरणे योग्य आहे. openssl passwd -6 प्रत्येक Ubuntu LTS release वर त्याच प्रकारे कार्य करते. chpasswd -c YESCRYPT मात्र तसे कार्य करत नाही: 20.04 मधील जुन्या shadow package ला त्या method name ची माहिती नाही.

पासवर्ड प्रत्यक्षात बदलला आहे की नाही हे कसे तपासाल?

सुरुवात मेटाडेटापासून करा. त्यानंतर login करून त्याची खात्री करा.

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

दुसरे field म्हणजे state: वापरता येणाऱ्या पासवर्डसाठी P, locked पासवर्डसाठी L आणि पासवर्ड नसल्यास NP. तारीख म्हणजे पासवर्ड शेवटचा बदलल्याची वेळ. त्यामुळे ती आजची तारीख असावी. त्यानंतरची numbers खाली स्पष्ट केलेली aging fields आहेत.

सर्वात सुरक्षित live test म्हणजे स्वतः sudo. sudo -k cached timestamp काढून टाकते आणि sudo -v नवीन prompt दाखवते. तेथे नवीन पासवर्ड स्वीकारला गेल्यास PAM ने तो स्वीकारला आहे. तुमच्या session मध्ये कोणताही बदल झालेला नाही.

sudo -k && sudo -v

दुसरे account तपासण्यासाठी unprivileged shell मधून su - deploy चालवा. sudo su - deploy चालवू नका, कारण root कडून कधीही पासवर्ड विचारला जात नाही आणि या चाचणीमधून काहीही सिद्ध होत नाही. चुकीचा पासवर्ड su: Authentication failure दाखवतो.

खरी चाचणी म्हणजे तुमच्या laptop वरून नवीन SSH login करणे. कार्यरत session उघडे ठेवा:

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 वापरून पुढील लॉगिनवेळी पासवर्ड बदलणे सक्तीचे करा

sudo chage -d 0 deploy

-d 0 शेवटच्या बदलाची तारीख epoch वर सेट करते. त्यामुळे PAM पासवर्डची मुदत संपलेली असल्याचे मानते. पुढील परस्परसंवादी लॉगिनवेळी shell देण्यापूर्वी सध्याचा पासवर्ड आणि त्यानंतर नवीन पासवर्ड विचारला जातो. sudo passwd -e deploy हेच कार्य करते.

ही पद्धत केवळ पासवर्डद्वारे परस्परसंवादी लॉगिन करणाऱ्या खात्यांसाठी वापरा. पासवर्डची मुदत संपल्याचा परिणाम key आधारित लॉगिनवरही होतो. कारण प्रमाणीकरणासाठी key वापरले असले तरी sshd PAM account stage चालवते. स्क्रिप्टमधील ssh deploy@203.0.113.10 'systemctl restart app' खालील संदेशासह अयशस्वी होते आणि थांबते:

Password change required but no TTY available.

त्या ओळीनंतर कोणतीही कृती चालत नाही. job मध्ये केवळ शून्येतर 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 नवीन पासवर्ड सेट करते. कोणतेही कार्यरत लॉगिन उपलब्ध नसणे ही कठीण परिस्थिती आहे.

खालील सर्व चरणांसाठी provider console आवश्यक आहे. बहुतेक panel मध्ये त्याला VNC (virtual network computing) किंवा serial console असे म्हटले जाते. हे network stack च्या खालील virtual machine शी जोडले जाते. त्यामुळे sshd सेटिंग्ज आणि firewall नियम त्यावर परिणाम करत नाहीत.

  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. आवश्यक असलेल्या खात्यासाठी 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 ची नक्कल करण्याऐवजी lsblk मधून partition layout वाचा. root partition मोठे असते. UEFI image मध्ये त्याच्या शेजारी एक लहान EFI partition असते. त्यामध्ये /etc directory अजिबात नसते.

SSH ने तुमचा पासवर्ड स्वीकारणे थांबवल्यावर काय करावे

तुमच्याकडे अजून उपलब्ध असलेल्या सत्रातून काम करा. कोणतेही सत्र उपलब्ध नसेल, तर console वापरा.

Permission denied, please try again. याचा अर्थ server ने password authentication उपलब्ध करून दिले, पण तुम्ही पाठवलेला पासवर्ड नाकारला. नेहमीची कारणे म्हणजे caps lock सुरू असणे किंवा पासवर्ड सेट करताना वापरलेल्या keyboard layout पेक्षा वेगळा console keyboard layout असणे.

Permission denied (publickey). याचा अर्थ server ने password authentication उपलब्ध करून दिले नाही. PasswordAuthentication no कुठेतरी सेट केलेले आहे. Ubuntu 22.04 आणि त्यानंतरच्या आवृत्त्यांमध्ये ते सहसा /etc/ssh/sshd_config.d/ अंतर्गत असलेल्या drop-in file मध्ये असते. ही file मुख्य file मधील सेटिंग्जवर अधिलिखित करते. प्रभावी मूल्ये वाचा:

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

KbdInteractiveAuthentication yes सोबत PasswordAuthentication no सक्षम असल्यासही पासवर्डद्वारे प्रवेश करता येतो, कारण keyboard-interactive पद्धत त्याच PAM stack चा वापर करते. एक पद्धत बंद ठेवून दुसरी सुरू ठेवणे, हा key-only दिसणाऱ्या server ने टाइप केलेले पासवर्ड स्वीकारत राहण्याचा प्रकार आहे.

विच्छेदन संदेशातील Too many authentication failures याचा अर्थ password पर्यंत पोहोचण्यापूर्वी तुमच्या client ने अनेक keys सादर केल्या आणि server MaxAuthTries पर्यंत पोहोचला. त्याचे default मूल्य 6 आहे. एकच पद्धत सक्तीने वापरा:

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

एका मिनिटापूर्वी कार्यरत असलेल्या port वर Connection refused दिसत असल्यास, SSH वर fail2ban द्वारे देखरेख करत असलेल्या fail2ban ने वारंवार झालेल्या अपयशी प्रयत्नांनंतर तुमचा address प्रतिबंधित केला असण्याची शक्यता आहे. त्याचा default ban rule packet drop करण्याऐवजी तो नाकारतो. त्यामुळे connection timeout होण्याऐवजी refusal लगेच परत येतो. console मधून sudo fail2ban-client status sshd प्रतिबंधित केलेले addresses दाखवते आणि sudo fail2ban-client set sshd unbanip 203.0.113.10 तुमचा address प्रतिबंधातून काढते.

Passwords हे तात्पुरते पाऊल आहेत; keys ही अंतिम व्यवस्था आहे

SSH वर कार्यरत असलेला password हा इंटरनेटवरील प्रत्येक scanner ला अंदाजाने तपासता येतो. key based authentication वापरा; त्यामुळे असे अंदाज अप्रासंगिक ठरतात. key pair तयार करा, public भाग स्थापित करा आणि इतर कोणतेही बदल करण्यापूर्वी दुसऱ्या terminal मधून key मुळे login होत असल्याची खात्री करा. SSH key व्यवस्थापनाची मूलतत्त्वे यामध्ये generation, authorized_keys आणि passphrases समाविष्ट आहेत.

त्यानंतर password authentication बंद करा आणि संपादित केलेल्या file वर अवलंबून न राहता sudo sshd -T वापरून त्याची खात्री करा. VPS वरील SSH चे hardening मध्ये बदलण्यास उपयुक्त असलेल्या उर्वरित sshd settings ची माहिती आहे, तर नवीन VPS वरील पहिली दहा मिनिटे fresh server वर त्या कोणत्या क्रमाने करायच्या हे सांगते.

यानंतर एक password जतन करून ठेवा. केवळ key वापरणाऱ्या server चे sshd config खराब झाल्यास त्याच्यापर्यंत provider console द्वारेच पोहोचता येते; त्या console साठी username आणि password आवश्यक असतात. तुम्ही साठवून ठेवलेला मजबूत password असलेले account हे पाच मिनिटांच्या दुरुस्तीला पुन्हा installation करण्यापासून वेगळे करते.

FAQ

मला माझा जुना root password माहीत नसल्यास माझ्या VPS वरील root password कसा बदलू?

sudo चालवू शकणाऱ्या वापरकर्त्याच्या रूपात लॉग इन करा आणि sudo passwd root चालवा. जुना password विचारला जात नाही, कारण sudo ने तुमचे प्रमाणीकरण आधीच केलेले असते. सिस्टमवरील कोणतेही account sudo चालवू शकत नसल्यास, provider console उघडा, GRUB recovery menu मध्ये reboot करा, root shell entry निवडा, mount -o remount,rw / चालवा आणि त्यानंतर passwd चालवा. root कडे आधीपासून password असल्यास आणि तुम्ही तोच विसरला असल्यास recovery shell तो password विचारते. अशा वेळी उरलेला मार्ग म्हणजे 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 password बदलल्याने sudo password देखील बदलतो का?

होय. sudo कडे स्वतःचा password नसतो. तो PAM द्वारे त्याच /etc/shadow entry विरुद्ध तुमचे प्रमाणीकरण करतो, जी SSH आणि su देखील वापरतात. त्यामुळे प्रत्येक account साठी एकच password असतो. म्हणूनच password बदलल्यानंतर दिसणारा पहिला sudo prompt ही खरी चाचणी असते. कार्यरत session सुरू असतानाच तो prompt सक्तीने दाखवण्यासाठी sudo -k && sudo -v चालवा.

माझा password बदलल्याने माझ्या SSH keys किंवा उघड्या sessions मध्ये अडथळा येईल का?

नाही. Public key authentication /etc/shadow कधीही वाचत नाही. त्यामुळे password बदलल्यानंतर, passwd -l नंतर आणि chage -d 0 नंतरही keys कार्यरत राहतात. आधीच उघडलेली sessions सुरूच राहतात, कारण SSH credentials फक्त login वेळी तपासते. Live session मध्ये बदलणारी एकमेव गोष्ट म्हणजे sudo. त्याचा 15 minute timestamp संपल्यानंतर ते नवीन password एकदा विचारते.

पुढील login वेळी वापरकर्त्याने password बदलावा अशी सक्ती कशी करावी?

sudo chage -d 0 deploy चालवा किंवा sudo passwd -e deploy चालवा. दोन्ही एकच काम करतात. Stored last-change date epoch वर सेट होते. PAM password expired असल्याचे मानते. त्यानंतरच्या interactive login वेळी shell सुरू होण्यापूर्वी नवीन password सेट करणे आवश्यक असते. SSH द्वारे scripts वापरणाऱ्या account वर हे करू नका. अशा वेळी non-interactive command Password change required but no TTY available. मुळे अयशस्वी होते आणि कधीही चालत नाही.

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