SSD Nodes Learn 🎉 VPS $4.99/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-03

Ubuntu VPS-ல் root password மாற்றுவது எப்படி

Ubuntu VPS-ல் root அல்லது user password-ஐ passwd, chpasswd, chage மூலம் மாற்றி சரிபார்க்கவும். SSH அல்லது root password தொலைந்தால் மீண்டும் login செய்வது எப்படி என்பதையும் அறியலாம்.

Verified Every command ran end-to-end on a fresh Ubuntu 24.04 server, August 1, 2026.

Ubuntu-ல் உங்கள் VPS root password-ஐ மாற்றுவது எப்படி

Ubuntu-ல் உங்கள் VPS (virtual private server) root password-ஐ மாற்ற, sudo இயக்கக்கூடிய user ஆக SSH (secure shell) session-ஐத் திறந்து, பின்னர் sudo passwd root-ஐ இயக்கவும். இது புதிய password-ஐ இரண்டு முறை கேட்கும். பழைய password-ஐ கேட்காது. காரணம், sudo ஏற்கனவே உங்கள் அடையாளத்தைச் சரிபார்த்துவிட்டது. உங்கள் சொந்த login password-ஐ மாற்ற, arguments இல்லாமல் passwd-ஐ இயக்கவும். அப்போது முதலில் தற்போதைய password கேட்கப்படும்.

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

இதுவே முழு செயல்முறை. கீழே உள்ள பகுதிகளில் செயல்பாடு தோல்வியடையும் நிலைகள் விளக்கப்படுகின்றன: session துண்டிக்கப்படுவதற்கு முன் புதிய password செயல்படுகிறதா என்பதைச் சரிபார்த்தல், script மூலம் password-களை அமைத்தல், password-ஐ திட்டமிட்டு expire செய்தல், மேலும் password ஏற்கனவே தெரியாத நிலையில் மீண்டும் login செய்வது.

password-ஐ மாற்றுவதற்கு முன் இரண்டாவது session-ஐத் திறக்கவும்

இப்போது இரண்டாவது SSH session-ஐத் திறந்து, அதை இணைந்த நிலையில் வைத்திருக்கவும். இந்த வழிகாட்டியில் ஏற்படும் பெரும்பாலான தோல்விகளை, authenticated shell ஒன்று இன்னும் இயங்கிக் கொண்டிருக்கும்போது இரண்டு நிமிடங்களில் சரிசெய்யலாம். கடைசி session மூடப்பட்ட பிறகு அவற்றைச் சரிசெய்ய console-ஐ அணுக வேண்டியிருக்கும்.

ஏற்கனவே திறந்திருக்கும் shell, அதனுடன் தொடர்புடைய account-ஐ நீங்கள் மாற்றினாலும், lock செய்தாலும் அல்லது expire செய்தாலும் தொடர்ந்து இயங்கும். காரணம், SSH login நேரத்தில் மட்டுமே credentials-ஐச் சரிபார்க்கும்; அதன் பிறகு மீண்டும் சரிபார்க்காது. இதற்கு விதிவிலக்கு sudo ஆகும். அதன் timestamp expire ஆன பிறகு, PAM (pluggable authentication modules) மூலம் உங்கள் password-ஐ அது மீண்டும் சரிபார்க்கும். இயல்பாக, கடைசி prompt-க்கு 15 minutes கழித்து இது நிகழும். எனவே, புதிய password-ன் முதல் உண்மையான சோதனை login நேரத்தில் நடக்காது; sudo அதை அடுத்த முறை கேட்கும்போதுதான் நடக்கும்.

முதல் session திறந்த நிலையில் இருக்கும்போது, இரண்டாவது session-ல் புதிய password-ஐச் சோதிக்கவும்.

passwd மூலம் உங்கள் சொந்த password-ஐ மாற்றுதல்

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-ஆக இருந்தாலும் பழைய password அப்படியே இருக்கும்.

இங்கு இரண்டு failure-கள் ஏற்படுகின்றன. passwd: Authentication token manipulation error-க்கு அடுத்து passwd: password unchanged தோன்றினால், நீங்கள் உள்ளிட்ட current password தவறாக இருக்கலாம். அல்லது /etc/shadow உள்ள filesystem-ல் write செய்ய முடியாமல் இருக்கலாம். recovery mode-ல் இது வழக்கமான நிலையாகும். You must choose a longer password. என்பது /etc/pam.d/common-password-ல் உள்ள pam_unix-இலிருந்து வருகிறது. இது சாதாரண users-க்கான password length மற்றும் similarity checks-ஐ செயல்படுத்துகிறது.

பெரும்பாலான VPS images-ல் default account (ubuntu, அல்லது உங்கள் provider வழங்கும் வேறு பெயர்) password இல்லாமல், SSH key மட்டும் கொண்டிருக்கும். passwd-க்கு சரிபார்க்க current password இல்லாததால், அது முதல் prompt-ஐ கடக்க முடியாது. அதற்கு பதிலாக sudo passwd $USER-ஐ பயன்படுத்தவும். அந்த account-க்கு sudoers drop-in file password இல்லாமல் sudo இயக்க அனுமதிப்பதால் இது செயல்படும்.

sudo passwd மூலம் மற்றொரு user-ன் password-ஐ மாற்றுதல்

sudo passwd deploy

root-இடம் பழைய password கேட்கப்படாது. மேலும், pam_unix சாதாரண users-க்கு பொருந்தும் password வலிமைச் சோதனைகளைத் தவிர்க்கிறது. எனவே, அந்த user தானாக அமைக்க முடியாத password-ஐயும் root அமைக்கலாம்.

Password-ஐ lock செய்வது தனி நடவடிக்கை. sudo passwd -l deploy சேமிக்கப்பட்ட hash-க்கு முன் !-ஐ சேர்க்கிறது. இதனால் எந்த password-உம் அதனுடன் பொருந்தாது. sudo passwd -u deploy அதை நீக்குகிறது. தற்போதைய நிலையை sudo passwd -S deploy மூலம் மீண்டும் பார்க்கலாம்.

Password-ஐ lock செய்வதால் அந்த user login செய்வது தடுக்கப்படாது. அவருடைய ~/.ssh/authorized_keys-ல் உள்ள எந்த key-யும் தொடர்ந்து செயல்படும். காரணம், public key authentication /etc/shadow-ஐ ஒருபோதும் பயன்படுத்தாது. Account-ஐ முழுமையாகத் தடுக்க, account-ஐயே expire செய்ய வேண்டும்:

sudo usermod --expiredate 1 deploy

இதனால் account expiry தேதி 1970-க்கு அமைக்கப்படும். எனவே, வழங்கப்படும் credential எதுவாக இருந்தாலும் sshd login-ஐ மறுக்கும். இதை sudo usermod --expiredate '' deploy மூலம் மீண்டும் ரத்து செய்யலாம்.

passwd -d-ஐ தவிர்க்கவும். இது password-ஐ lock செய்வதற்குப் பதிலாக காலியாக அமைக்கிறது. பழைய release-ல் PAM stack-ல் nullok இன்னும் இருந்தால், காலியான password-ஐ யாரும் பயன்படுத்த முடியும்.

VPS-ல் root-க்கு password தேவையா?

Ubuntu, root account-ஐ locked நிலையில் வழங்குகிறது. /etc/shadow, hash-க்கு பதிலாக !-ஐ வைத்திருக்கும்; sudo passwd -S root, root L என்று தொடங்கும் ஒரு line-ஐ காட்டும். நீங்கள் password அமைக்கும் வரை, password மூலம் root ஆக யாராலும் login செய்ய முடியாது. அதனால் image, sudo திறன் கொண்ட user-ஐ உங்களுக்கு வழங்குகிறது. root ஆக அல்லாமல் VPS-ல் குறைந்த privilege கொண்ட user accounts மூலம் பணிபுரிவதே பின்பற்ற வேண்டிய நடைமுறை.

root password அமைப்பதால் ஒரு குறிப்பிட்ட வசதி கிடைக்கும்: provider console வழியாக server-க்குள் நுழையும் வழி. அந்த console, network stack-க்கு கீழ் virtual machine-உடன் நேரடியாக இணைகிறது. எனவே sshd தவறாக configure செய்யப்பட்டிருந்தாலும் அல்லது firewall rule தவறாக இருந்தாலும் அது இயங்கும். ஆனால் இதற்கு ஒரு பாதிப்பும் உள்ளது. root account-க்கு password இருந்தால், GRUB recovery menu-வின் root shell அந்த password-ஐ கேட்கும். மறந்த password-ஐ reset செய்ய நீங்கள் பயன்படுத்த வேண்டிய tool, அதே password-க்கு பின்னால் முடங்கிவிடும்.

root password அமைத்தாலும், SSH மூலம் root ஆக login செய்ய முடியாது. Ubuntu, PermitRootLogin prohibit-password-ஐ வழங்குகிறது; இதன் பொருள் keys மட்டும் பயன்படுத்தப்படும் என்பதாகும். உங்கள் server உண்மையில் என்ன பயன்படுத்துகிறது என்பதைச் சரிபார்க்கவும்:

sudo sshd -T | grep -i permitrootlogin

ஒவ்வொரு Include line-உம் resolve செய்யப்பட்ட பிறகு உருவாகும் effective configuration-ஐ sshd -T காட்டுகிறது. எனவே /etc/ssh/sshd_config.d/ drop-in files-ஐ வைத்திருக்கும் நிலையில், இது மட்டுமே நம்பகமான பதில்.

chpasswd மூலம் script-இலிருந்து password அமைத்தல்

passwd terminal-இலிருந்து input-ஐப் பெறும்; அதை script மூலம் இயக்க முடியாது. chpasswd standard input-இலிருந்து ஒவ்வொரு வரியிலும் ஒரு user:password ஜோடியைப் படிக்கும்.

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

இது செயல்படும். ஆனால் plaintext password உங்கள் shell history மற்றும் CI (continuous integration) logs-ல் பதிவு செய்யப்படும். அதற்கு பதிலாக, முதலில் அதை hash செய்யவும்:

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

openssl passwd -6 password-ஐ இரண்டு முறை கேட்கும்; input echo செய்யப்படாது. பின்னர் $6$ என்று தொடங்கும் SHA-512 crypt hash-ஐ அச்சிடும். இரண்டாவது field ஏற்கனவே hashed நிலையில் உள்ளது என்பதை -e, chpasswd-க்கு தெரிவிக்கும். ஆகவே அது இருந்தபடியே /etc/shadow-ல் எழுதப்படும். இந்த hash-ஐ repository அல்லது CI variable-ல் பாதுகாப்பாக வைத்திருக்கலாம். நீங்கள் password-ஐ type செய்த machine-ஐ விட்டு plaintext வெளியேறாது.

passwd password-ஐ அமைக்கும்போது, Ubuntu 24.04 புதிய password-களை yescrypt ($y$) மூலம் hash செய்கிறது. openssl passwd -6 SHA-512-ஐ வழங்குகிறது. Login நேரத்தில் இரண்டையும் verify செய்ய முடியும், ஏனெனில் libxcrypt இரண்டு format-களையும் படிக்கும். அவற்றைக் கலப்பது சிக்கல் அல்ல. openssl passwd -6 அனைத்து Ubuntu LTS release-களிலும் ஒரே விதமாகச் செயல்படும். ஆனால் chpasswd -c YESCRYPT அவ்வாறு செயல்படாது: Ubuntu 20.04-இல் உள்ள பழைய shadow package-க்கு அந்த method name தெரியாது.

Password உண்மையில் மாற்றப்பட்டதா என்பதை எவ்வாறு சரிபார்ப்பது?

முதலில் metadata-ஐப் பார்க்கவும். பின்னர் login மூலம் அதை உறுதிப்படுத்தவும்.

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

இரண்டாவது field state-ஐக் குறிக்கிறது: பயன்படுத்தக்கூடிய password-க்கு P, lock செய்யப்பட்ட account-க்கு L, password இல்லாத account-க்கு NP. அந்தத் தேதி password கடைசியாக மாற்றப்பட்ட நாளைக் குறிக்கும். ஆகவே அது இன்றைய தேதியாக இருக்க வேண்டும். அதன் பின்னர் உள்ள எண்கள் கீழே விளக்கப்படும் password aging fields ஆகும்.

நேரடியாகச் செய்யக்கூடிய பாதுகாப்பான live test, sudo ஆகும். sudo -k cached timestamp-ஐ நீக்குகிறது. sudo -v புதிய prompt-ஐ கட்டாயப்படுத்துகிறது. அங்கு புதிய password ஏற்றுக்கொள்ளப்பட்டால், PAM அதை ஏற்றுக்கொண்டுள்ளது. உங்கள் session-ல் எந்த மாற்றமும் ஏற்படவில்லை.

sudo -k && sudo -v

வேறு account-ஐச் சோதிக்க, privilege இல்லாத shell-லிருந்து su - deploy இயக்கவும். sudo su - deploy இயக்க வேண்டாம். root-ிடம் password கேட்கப்படாது. ஆகவே அந்தச் சோதனை எதையும் நிரூபிக்காது. தவறான password கொடுத்தால் su: Authentication failure காட்டப்படும்.

உண்மையான சோதனை, தற்போதைய working session-ஐ திறந்தவாறே உங்கள் laptop-லிருந்து புதிய SSH login செய்வதாகும்:

ssh -o PubkeyAuthentication=no deploy@203.0.113.10

இங்கு Permission denied (publickey). என்றால் server password authentication-ஐ வழங்கவே இல்லை என்பதாகும். ஆகவே எந்த password மாற்றமும் login செய்ய உதவாது. Permission denied, please try again. என்றால் server password authentication-ஐ வழங்கியது, ஆனால் நீங்கள் உள்ளிட்ட password-ஐ நிராகரித்தது என்பதாகும்.

chage மூலம் அடுத்த login-ல் password மாற்றத்தை கட்டாயப்படுத்துதல்

sudo chage -d 0 deploy

-d 0, கடைசி password மாற்றப்பட்ட தேதியை epoch-ஆக அமைக்கிறது. இதனால் PAM, password-ஐ expired நிலையில் கருதும். அடுத்த interactive login-ல் shell வழங்குவதற்கு முன், முதலில் தற்போதைய password-ஐயும் பின்னர் புதிய password-ஐயும் கேட்கும். sudo passwd -e deploy இதே செயலையே செய்கிறது.

Password மூலம் interactive login செய்யும் accounts-க்கு மட்டும் இதைப் பயன்படுத்தவும். Password expired நிலையில் இருப்பது key based login-களையும் பாதிக்கும். காரணம், authentication-க்கு key பயன்படுத்தப்பட்டாலும் sshd, PAM account stage-ஐ இயக்குகிறது. Script-ல் இயக்கப்படும் ssh deploy@203.0.113.10 'systemctl restart app', பின்னர் வரும் பிழையுடன் தோல்வியடைந்து நிற்கும்:

Password change required but no TTY available.

அந்த வரிக்குப் பிறகு எதுவும் இயங்காது. Job, non-zero exit code-ஐ மட்டும் பதிவு செய்யும்.

password aging fields-ன் பொருள்

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-ல் அந்த user-ன் line-இல் உள்ள 4 முதல் 8 வரையிலான fields ஆகும். Minimum days (chage -m) என்பது மீண்டும் password-ஐ மாற்றுவதற்கு user காத்திருக்க வேண்டிய குறைந்தபட்ச நாட்கள். கட்டாயமாக மாற்றிய பிறகு, பழைய password-க்கு உடனடியாக மீண்டும் மாறுவதை இது தடுக்கிறது. Maximum days (chage -M) என்பது password செல்லுபடியாக இருக்கும் காலம். Warning days (chage -W) என்பது login செய்யும்போது warning காட்டத் தொடங்கும் நாட்களின் எண்ணிக்கை. Inactive days (chage -I) என்பது password expiry ஆன பிறகு, அந்த password முற்றிலும் ஏற்கப்படாமல் போகும் முன் வழங்கப்படும் grace period. Account expiry (chage -E) என்பது ஒரு உறுதியான தேதி. அது password-இலிருந்து தனித்தது.

sudo chage -M 90 -W 14 deploy

ஒரு policy அதைக் கோரும்போது மட்டும் இதை அமைக்கவும். NIST (US National Institute of Standards and Technology) 2017 முதல் வழக்கமான password expiry-ஐத் தவிர்க்குமாறு அறிவுறுத்தி வருகிறது. காரணம், அது ஒரே password-ன் எளிதில் கணிக்கக்கூடிய மாற்று வடிவங்களைப் பயன்படுத்த மக்களைத் தூண்டுகிறது. அதற்கு பதிலாக, compromise ஏற்பட்டதற்கான ஆதாரம் இருக்கும்போது password-ஐ மாற்றுமாறு NIST பரிந்துரைக்கிறது. password manager-ல் சேமிக்கப்பட்ட நீளமான, தனித்துவமான password-உம் key based SSH-உம் 90 நாள் password cycle-ஐ விட சிறந்த பாதுகாப்பை வழங்குகின்றன.

root password-ஐ இழந்தால் என்ன செய்ய வேண்டும்

Server-ல் உள்ள ஏதேனும் account sudo இயக்க முடிந்தால், மீட்டெடுக்க எதுவும் இல்லை: sudo passwd root புதிய password-ஐ அமைக்கும். எந்த login-மும் செயல்படாத நிலையே கடினமானது.

கீழே உள்ள அனைத்து படிகளுக்கும் provider console தேவை. பெரும்பாலான panels-ல் இது VNC (virtual network computing) அல்லது serial console எனக் குறிப்பிடப்படும். இது network stack-க்கு கீழே உள்ள virtual machine-உடன் இணைகிறது. எனவே sshd settings மற்றும் firewall rules இதைப் பாதிக்காது.

  1. Panel-லிருந்து server-ஐ reboot செய்து console-ஐ monitor செய்யவும்.
  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-க்கு ஏற்கனவே password அமைக்கப்பட்டு, நீங்கள் இழந்தது அதுவாக இருந்தால், அந்த recovery shell அதை கேட்கும். இந்த வழிமுறை அங்கே முடிவடையும். அதற்குப் பதிலாக provider-ன் rescue image-ல் boot செய்யவும். பின்னர் உண்மையான disk-ஐ mount செய்து, அதற்குள் password-ஐ மாற்றவும்.

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 பெரிய partition ஆகும். UEFI image-ல், அதனுடன் ஒரு சிறிய EFI partition இருக்கும். அந்த partition-ல் /etc directory இருக்காது.

SSH உங்கள் password-ஐ ஏற்காமல் நிற்கும்போது செய்ய வேண்டியது

உங்களிடம் இன்னும் உள்ள session-லிருந்து செயல்படுங்கள். எந்த session-மும் இல்லை என்றால், console-ஐ பயன்படுத்துங்கள்.

Permission denied, please try again. என்பது server password authentication-ஐ வழங்கி, நீங்கள் அனுப்பிய password-ஐ நிராகரித்தது என்று பொருள். வழக்கமான காரணங்கள் caps lock இயக்கப்பட்டிருப்பது அல்லது password அமைத்தபோது பயன்படுத்திய keyboard layout-இலிருந்து console keyboard layout மாறுபட்டிருப்பது ஆகும்.

Permission denied (publickey). என்பது server password authentication-ஐ ஒருபோதும் வழங்கவில்லை என்று பொருள். PasswordAuthentication no எங்காவது அமைக்கப்பட்டுள்ளது. Ubuntu 22.04 மற்றும் அதற்குப் பிந்தைய versions-ல், main file-ஐ override செய்யும் drop-in file-ல், அதாவது /etc/ssh/sshd_config.d/ கீழ், அது பொதுவாக இருக்கும். செயல்பாட்டில் உள்ள values-ஐப் பார்க்கவும்:

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

KbdInteractiveAuthentication yes உடன் PasswordAuthentication no அமைக்கப்பட்டிருந்தாலும் password மூலம் login செய்ய முடியும். காரணம், keyboard-interactive method அதே PAM stack-ஐ இயக்குகிறது. ஒன்றை முடக்கிவிட்டு மற்றொன்றை இயக்கத்தில் விடுவது, key-only போலத் தோன்றும் server typed passwords-ஐ தொடர்ந்து ஏற்கும் நிலையை உருவாக்கும்.

Disconnect message-ல் Too many authentication failures தோன்றினால், உங்கள் client password authentication-ஐ அடையும் முன் பல keys-ஐ வழங்கியுள்ளது. அப்போது server MaxAuthTries வரம்பை அடைந்துள்ளது; அதன் default value 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 செய்கிறது. அதனால் connection refusal timeout ஆகாமல் விரைவாகத் திரும்புகிறது. Console-ல், sudo fail2ban-client status sshd ban செய்யப்பட்ட addresses-ஐ பட்டியலிடும்; sudo fail2ban-client set sshd unbanip 203.0.113.10 உங்கள் address-ஐ clear செய்யும்.

Passwords ஒரு தொடக்க நிலை மட்டுமே; keys இறுதி நிலை

SSH மூலம் பயன்படுத்தக்கூடிய password-ஐ இணையத்தில் உள்ள ஒவ்வொரு scanner-மும் ஊகிக்க முயற்சிக்க முடியும். key based authentication-க்கு மாறினால், இந்த guessing முயற்சிகள் பயனற்றதாகிவிடும். முதலில் key pair-ஐ உருவாக்கி, public key-ஐ நிறுவவும். வேறு terminal-ல் அந்த key மூலம் login ஆகிறது என்பதை உறுதிப்படுத்திய பிறகே மற்ற மாற்றங்களைச் செய்யவும். SSH key management அடிப்படைகள் key generation, authorized_keys மற்றும் passphrases பற்றி விளக்குகிறது.

அதன் பிறகு password authentication-ஐ முடக்கவும். நீங்கள் திருத்திய file-ஐ மட்டும் நம்பாமல், sudo sshd -T மூலம் அந்த அமைப்பு நடைமுறையில் உள்ளதா என்பதை உறுதிப்படுத்தவும். VPS-ல் SSH-ஐ harden செய்வது மாற்ற வேண்டிய முக்கியமான sshd settings-ஐ விளக்குகிறது. புதிய VPS-ல் முதல் பத்து நிமிடங்கள் fresh server-ல் அவற்றைச் செய்ய வேண்டிய வரிசையை வழங்குகிறது.

அதன் பிறகு ஒரு password-ஐ மட்டும் வைத்திருக்கவும். key-only server-ல் sshd config பழுதடைந்தால், provider console மூலமே அணுக முடியும். அந்த console-க்கு username மற்றும் password தேவைப்படும். நீங்கள் பாதுகாப்பாக சேமித்து வைத்திருக்கும் strong password கொண்ட account இருந்தால், ஐந்து நிமிடங்களில் செய்யும் fix மற்றும் முழுமையான reinstall ஆகியவற்றுக்கு இடையிலான வேறுபாடு அதுவாகும்.

FAQ

பழைய root password தெரியாவிட்டால் VPS-ல் root password-ஐ எவ்வாறு மாற்றுவது?

sudo இயக்கக்கூடிய user ஆக login செய்து sudo passwd root இயக்கவும். இது பழைய password-ஐ கேட்காமல் புதிய password-ஐ அமைக்கும். காரணம், sudo ஏற்கனவே உங்களை authenticate செய்துவிட்டது. அந்த server-ல் sudo இயக்கக்கூடிய account எதுவும் இல்லையெனில், provider console-ஐத் திறந்து, GRUB recovery menu-க்கு reboot செய்து, root shell entry-ஐத் தேர்ந்தெடுக்கவும். பின்னர் mount -o remount,rw / இயக்கி, அதன் பிறகு passwd இயக்கவும். root account-க்கு ஏற்கனவே 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 மூலம், SSH மற்றும் su பயன்படுத்தும் அதே /etc/shadow entry-க்கு எதிராக உங்களை authenticate செய்கிறது. எனவே ஒவ்வொரு 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 login நேரத்தில் மட்டுமே credentials-ஐச் சரிபார்க்கும். செயல்பாட்டிலுள்ள session-ல் மாறும் ஒரே விஷயம் sudo ஆகும். அதன் 15 minute timestamp காலாவதியானதும், இது புதிய password-ஐ ஒருமுறை கேட்கும்.

அடுத்த login-ல் ஒரு user தனது password-ஐ மாற்ற வேண்டிய கட்டாயத்தை எவ்வாறு ஏற்படுத்துவது?

sudo chage -d 0 deploy இயக்கவும். அல்லது அதே செயலைச் செய்யும் sudo passwd -e deploy இயக்கவும். சேமிக்கப்பட்ட 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