SSD Nodes Learn 8GB RAM — ஆண்டுக்கு $66

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

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

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 ஏற்கனவே தொலைந்துவிட்டால் மீண்டும் அணுகலைப் பெறுவது.

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

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

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

முதல் 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-தான் பயன்படுத்தப்பட்டிருக்கும்.

இங்கு இரண்டு failures ஏற்படுகின்றன. 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-ஐப் பயன்படுத்தவும். அந்த image-இன் sudoers drop-in file, அந்த account-ஐ password இல்லாமல் sudo இயக்க அனுமதிப்பதால் இது செயல்படும்.

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

sudo passwd deploy

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

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

Password-ஐ lock செய்வதால் அந்தப் பயனர் 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 செய்வதற்குப் பதிலாக empty password-ஆக அமைக்கிறது. மேலும், பழைய release ஒன்றில் PAM stack-இல் nullok இன்னும் இருந்தால், empty password-ஐ யாரும் பயன்படுத்தலாம்.

VPS-ல் root-க்கு கடவுச்சொல் தேவையா?

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

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

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

sudo sshd -T | grep -i permitrootlogin

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

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

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

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

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

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

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

நடப்பில் பாதுகாப்பாகச் சோதிப்பதற்கான வழி 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 அதை வழங்கியது, ஆனால் நீங்கள் உள்ளிட்டதை நிராகரித்தது என்பதைக் குறிக்கிறது.

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

sudo chage -d 0 deploy

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

Password மூலம் interactive login செய்யும் accounts-க்கு மட்டும் இதைப் பயன்படுத்தவும். Key based login-களையும் காலாவதியான password பாதிக்கும். காரணம், 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-ஐ மட்டும் தெரிவிக்கும்.

கடவுச்சொல் காலாவதி புலங்களின் பொருள்

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) என்பது, கடவுச்சொல் காலாவதியான பிறகு, அது முற்றிலும் ஏற்கப்படாமல் போகும் முன் வழங்கப்படும் grace period ஆகும். கணக்கு காலாவதி (chage -E) என்பது ஒரு கடுமையான தேதி ஆகும். இது கடவுச்சொல்லிலிருந்து தனித்துவமானது.

sudo chage -M 90 -W 14 deploy

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

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, எழுத /etc/shadow முடியாததால் passwd: Authentication token manipulation error பிழையுடன் தோல்வியடையும்.
  5. தேவைப்படும் account-க்கு passwd ubuntu-ஐ இயக்கவும். பின்னர் panel-ல் இருந்து reboot செய்யவும்.

root-க்கு ஏற்கனவே password அமைக்கப்பட்டு, நீங்கள் இழந்த 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 பெரியதாக இருக்கும். UEFI image-ல், அது சிறிய EFI partition-க்கு அடுத்ததாக இருக்கும். அந்த EFI 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 மற்றும் அதற்குப் பிந்தைய பதிப்புகளில், இது பொதுவாக main file-ஐ override செய்யும் /etc/ssh/sshd_config.d/-இன் கீழுள்ள drop-in file-இல் இருக்கும். செயல்பாட்டில் உள்ள values-ஐப் படிக்கவும்:

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

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

disconnect message-இல் Too many authentication failures இருப்பது, password-ஐ அடைவதற்கு முன் உங்கள் client பல 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 ban செய்யப்பட்ட addresses-ஐ பட்டியலிடும்; sudo fail2ban-client set sshd unbanip 203.0.113.10 உங்கள் address-ஐ clear செய்யும்.

Passwords ஒரு இடைக்கால படி; keys இறுதி நிலை

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

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

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

FAQ

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

sudo இயக்கக்கூடிய பயனராக உள்நுழைந்து, 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-ஐக் கேட்கும். அப்போது disk-ஐ mount செய்து chroot செய்த provider-ன் rescue image-ஐப் பயன்படுத்துவதே மீதமுள்ள வழியாகும்.

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 எதையும் கொண்டிருக்காது. SSH மற்றும் su பயன்படுத்தும் அதே /etc/shadow entry-க்கு எதிராக PAM மூலம் அது உங்களை authenticate செய்கிறது. எனவே ஒவ்வொரு account-க்கும் ஒரே 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-ஐச் சரிபார்க்கும். செயல்பாட்டில் உள்ள session-ல் மாறும் ஒரே விஷயம் sudo ஆகும். அதன் 15 minute timestamp காலாவதியானதும், அது புதிய password-ஐ ஒருமுறை கேட்கும்.

அடுத்த உள்நுழைவில் ஒரு பயனர் password-ஐ மாற்ற வேண்டுமென எவ்வாறு கட்டாயப்படுத்துவது?

sudo chage -d 0 deploy அல்லது அதே செயலைச் செய்யும் sudo passwd -e deploy இயக்கவும். சேமிக்கப்பட்ட last-change date epoch-க்கு மாற்றப்படும். PAM, password காலாவதியானதாகக் கருதும். அடுத்த interactive login-ல் shell தொடங்குவதற்கு முன் புதிய password அமைக்க வேண்டும். SSH வழியாக scripts பயன்படுத்தும் account-க்கு இதைச் செய்ய வேண்டாம். அப்போது non-interactive command Password change required but no TTY available. என்ற செய்தியுடன் தோல்வியடைந்து, ஒருபோதும் இயங்காது.

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