SSH ಕಮಾಂಡ್ಗಳಿಂದ Linux ಸರ್ವರ್ ನಿರ್ವಹಣೆ ಎಂದರೆ, ಒಬ್ಬ ವೆಬ್ಮಾಸ್ಟರ್ ದೂರದಲ್ಲಿರುವ Linux ಸರ್ವರ್ಗೆ ಸುರಕ್ಷಿತವಾಗಿ ಸಂಪರ್ಕಿಸಿ, ಫೈಲ್ಗಳು, ಸರ್ವಿಸ್ಗಳು, ಬಳಕೆದಾರರು, ಲಾಗ್ಗಳು, ಭದ್ರತೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಸಂಬಂಧಿಸಿದ ಕೆಲಸಗಳನ್ನು ಟರ್ಮಿನಲ್ ಮೂಲಕ ನಿಯಂತ್ರಿಸುವುದು. ಸಾಮಾನ್ಯವಾಗಿ ಆರಂಭಿಕ ಸಂಪರ್ಕಕ್ಕೆ ssh kullanıcı@sunucu-ip ಮಾದರಿಯ ಕಮಾಂಡ್ ಬಳಸಲಾಗುತ್ತದೆ; ನಂತರ ls, cd, pwd, cp, mv, rm, nano, systemctl, journalctl, top, df, du, chmod, chown, tar, scp ಮತ್ತು rsync ಮುಂತಾದ ಕಮಾಂಡ್ಗಳ ಸಹಾಯದಿಂದ ವೆಬ್ಸೈಟ್ ಅನ್ನು ಲೈವ್ ಮಾಡುವುದು, ದೋಷಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು, ಸರ್ವಿಸ್ಗಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವುದು ಮತ್ತು ಬ್ಯಾಕಪ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಈ ಮಾರ್ಗದರ್ಶಿ ವಿಶೇಷವಾಗಿ hosting, VPS ಅಥವಾ dedicated ಸರ್ವರ್ ಬಳಸುವ ವೆಬ್ಮಾಸ್ಟರ್ಗಳು ದಿನನಿತ್ಯದ ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ ಹೆಚ್ಚು ಬೇಕಾಗುವ ಮೂಲಭೂತ SSH ಕಮಾಂಡ್ಗಳನ್ನು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ವಿವರಿಸುತ್ತದೆ.
ಒಂದು ವೆಬ್ಸೈಟ್ ಅನ್ನು ಕೇವಲ ಕಂಟ್ರೋಲ್ ಪ್ಯಾನೆಲ್ ಮೂಲಕ ನಡೆಸುವುದು ಅನೇಕ ಸಂದರ್ಭಗಳಲ್ಲಿ ಸಾಕಾಗಬಹುದು. ಆದರೆ ಟ್ರಾಫಿಕ್ ಹೆಚ್ಚಾದಾಗ, ಕಸ್ಟಮ್ ಸಾಫ್ಟ್ವೇರ್ ಬೇಕಾದಾಗ, error log ಪರಿಶೀಲಿಸಬೇಕಾದಾಗ ಅಥವಾ ತುರ್ತು ಸಮಸ್ಯೆಗೆ ತಕ್ಷಣ ಪ್ರತಿಕ್ರಿಯಿಸಬೇಕಾದಾಗ SSH ತಿಳಿದಿರುವುದು ದೊಡ್ಡ ಲಾಭ. ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ WordPress ಸೈಟ್ನಲ್ಲಿ 500 error ಕಾಣಿಸಿಕೊಂಡರೆ, ಪ್ಯಾನೆಲ್ ತೆರೆಯುವುದನ್ನು ಕಾಯುವ ಬದಲು ಕೆಲವು ಕಮಾಂಡ್ಗಳಿಂದ disk usage, PHP-FPM ಸ್ಥಿತಿ, Nginx ಅಥವಾ Apache log, ಇತ್ತೀಚೆಗೆ ಬದಲಾದ ಫೈಲ್ಗಳನ್ನು ಕೆಲವು ನಿಮಿಷಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು. ಇದರಿಂದ downtime ಕಡಿಮೆಯಾಗುತ್ತದೆ ಮತ್ತು SEO ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಾಯ್ದುಕೊಳ್ಳಲು ಸಹಾಯವಾಗುತ್ತದೆ. ನೀವು ಇನ್ನೂ ಸರ್ವರ್ ಮೂಲಸೌಕರ್ಯ ಆಯ್ಕೆ ಹಂತದಲ್ಲಿದ್ದರೆ VPS ಸರ್ವರ್ ಮತ್ತು ವೆಬ್ ಹೋಸ್ಟಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ನಿಮ್ಮ ಅಗತ್ಯಗಳಿಗೆ ತಕ್ಕಂತೆ ಹೋಲಿಸುವುದು ಉಪಯುಕ್ತ.
SSH ಎಂದರೇನು ಮತ್ತು ವೆಬ್ಮಾಸ್ಟರ್ಗಳಿಗೆ ಅದು ಏಕೆ ಮುಖ್ಯ?
SSH ಎಂಬುದು Secure Shell ಎಂಬ ಪದಗಳ ಸಂಕ್ಷಿಪ್ತ ರೂಪ. ಇದು ದೂರದಲ್ಲಿರುವ ಸರ್ವರ್ಗೆ encrypted, ಅಂದರೆ ಗುಪ್ತೀಕೃತ ಸುರಕ್ಷಿತ ಸಂಪರ್ಕ ಸ್ಥಾಪಿಸಲು ಬಳಸುವ ಪ್ರೋಟೋಕಾಲ್. FTP ಮುಖ್ಯವಾಗಿ ಫೈಲ್ ವರ್ಗಾವಣೆಗೆ ಮಾತ್ರ ಸೀಮಿತವಾದರೆ, SSH ನಿಮಗೆ ಸರ್ವರ್ನ command line ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತದೆ. ಇದರ ಮೂಲಕ ನೀವು web root directory ಗೆ ಹೋಗಬಹುದು, permission ಸಮಸ್ಯೆಗಳನ್ನು ಸರಿಪಡಿಸಬಹುದು, ಸರ್ವಿಸ್ಗಳನ್ನು restart ಮಾಡಬಹುದು, firewall ನಿಯಮಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು, database backup ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು log fileಗಳನ್ನು live ಆಗಿ ಗಮನಿಸಬಹುದು.
ವೆಬ್ಮಾಸ್ಟರ್ ದೃಷ್ಟಿಯಿಂದ SSH ಜ್ಞಾನವು ಮೂರು ಪ್ರಮುಖ ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡುತ್ತದೆ. ಮೊದಲನೆಯದು ವೇಗ; ದೊಡ್ಡ ಫೈಲ್ಗಳನ್ನು ಪ್ಯಾನೆಲ್ ಮೂಲಕ download ಮಾಡುವ ಬದಲು ಸರ್ವರ್ನಲ್ಲಿಯೇ compress ಮಾಡುವುದು ಕೆಲವೇ ಸೆಕೆಂಡ್ಗಳು ಅಥವಾ ನಿಮಿಷಗಳಲ್ಲಿ ಸಾಧ್ಯ. ಎರಡನೆಯದು ಸ್ಪಷ್ಟತೆ; logಗಳು, CPU ಬಳಕೆ, RAM ಬಳಕೆ ಮತ್ತು disk ಸ್ಥಿತಿ ನೇರವಾಗಿ ನೋಡಬಹುದು. ಮೂರನೆಯದು ನಿಯಂತ್ರಣ; permission ತಪ್ಪು, service crash ಅಥವಾ ತಪ್ಪಾದ configuration ಮುಂತಾದ ಸಮಸ್ಯೆಗಳನ್ನು ಕಾಯದೆ ಪರಿಹರಿಸಬಹುದು. ವಿಶೇಷವಾಗಿ VPS, cloud server ಮತ್ತು dedicated server ಗಳಲ್ಲಿ SSH ಕೌಶಲ್ಯವು ಬಹುತೇಕ ಕಡ್ಡಾಯವಾದ ನಿರ್ವಹಣಾ ಸಾಮರ್ಥ್ಯ.
SSH ಸಂಪರ್ಕ ಸ್ಥಾಪಿಸುವ ಮೊದಲು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ವಿಷಯಗಳು
SSH ಸಂಪರ್ಕಕ್ಕೆ ಸಾಮಾನ್ಯವಾಗಿ ಮೂರು ಮಾಹಿತಿ ಬೇಕಾಗುತ್ತದೆ: ಸರ್ವರ್ IP address ಅಥವಾ domain name, user name ಮತ್ತು authentication ವಿಧಾನ. ಹೆಚ್ಚಿನ Linux ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ default port 22 ಆಗಿರುತ್ತದೆ; ಭದ್ರತೆಗಾಗಿ ಬೇರೆ port ಬಳಸಬಹುದು. ಸಂಪರ್ಕದ ಅತ್ಯಂತ ಸರಳ ರೂಪ: ssh kullanıcı@sunucu-ip. port ಬೇರೆ ಇದ್ದರೆ ssh -p 2222 kullanıcı@sunucu-ip ರೀತಿಯಲ್ಲಿ ಸಂಪರ್ಕಿಸಬೇಕು.
ಮೊದಲ ಸಂಪರ್ಕದ ಸಮಯದಲ್ಲಿ terminal ಸರ್ವರ್ನ fingerprint ಅನ್ನು ದೃಢೀಕರಿಸಲು ಕೇಳುತ್ತದೆ. ಈ ಹಂತವು ನೀವು ನಿಜವಾಗಿಯೂ ಸರಿಯಾದ ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಿಸುತ್ತಿದ್ದೀರಾ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು. Yes ಎಂದು ಟೈಪ್ ಮಾಡಿ ಮುಂದುವರಿದರೆ, ಆ ಸರ್ವರ್ನ ದಾಖಲೆ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನ known_hosts ಫೈಲ್ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಮುಂದಿನ ದಿನಗಳಲ್ಲಿ ಸರ್ವರ್ ಬದಲಾಗಿದ್ದರೆ ಅಥವಾ IP ಮರುಹಂಚಿಕೆ ಆಗಿದ್ದರೆ security warning ಕಾಣಬಹುದು; ಆಗ ಮೊದಲು ನೀವು ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವುದು ನಿಜವಾಗಿಯೂ ಸರಿಯಾದ ಸರ್ವರ್ ಆಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಬೇಕು.
ಪಾಸ್ವರ್ಡ್ ಲಾಗಿನ್ ಮತ್ತು SSH key ನಡುವಿನ ವ್ಯತ್ಯಾಸ
ಪಾಸ್ವರ್ಡ್ ಮೂಲಕ login ಮಾಡುವುದು ಸುಲಭ, ಆದರೆ brute force ದಾಳಿಗಳಿಗೆ ಹೆಚ್ಚು ಗುರಿಯಾಗಬಹುದು. SSH key ವಿಧಾನದಲ್ಲಿ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ private key ಮತ್ತು ಸರ್ವರ್ನಲ್ಲಿ public key ಇರುತ್ತದೆ; ಇದರಿಂದ ಸುರಕ್ಷತೆ ಹೆಚ್ಚಾಗುತ್ತದೆ. key ರಚಿಸಲು ssh-keygen -t ed25519 ಕಮಾಂಡ್ ಬಳಸಬಹುದು. public key ಅನ್ನು ಸರ್ವರ್ಗೆ ಸೇರಿಸಲು ssh-copy-id kullanıcı@sunucu-ip ಕಮಾಂಡ್ ಅನುಕೂಲಕರ. key authentication ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು ಆರಂಭಿಸಿದ ನಂತರ password login ಅನ್ನು ಮುಚ್ಚುವುದು ಭದ್ರತಾ ಮಟ್ಟವನ್ನು ಬಹಳಷ್ಟು ಹೆಚ್ಚಿಸುತ್ತದೆ.
| ವಿಧಾನ | ಪ್ರಯೋಜನ | ಅಪಾಯ | ಶಿಫಾರಸು ಮಾಡಿದ ಬಳಕೆ |
|---|---|---|---|
| ಪಾಸ್ವರ್ಡ್ ಮೂಲಕ SSH | ಸೆಟಪ್ ವೇಗವಾಗಿ ಮುಗಿಯುತ್ತದೆ | ದುರ್ಬಲ ಪಾಸ್ವರ್ಡ್ ಇದ್ದರೆ ದಾಳಿಯ ಅಪಾಯ ಹೆಚ್ಚು | ತಾತ್ಕಾಲಿಕ ಪ್ರವೇಶ ಮತ್ತು ಮೊದಲ setup |
| SSH key | ಹೆಚ್ಚು ಸುರಕ್ಷಿತ, automation ಗೆ ಸೂಕ್ತ | private key ರಕ್ಷಿಸದಿದ್ದರೆ ಅಪಾಯ ಉಂಟಾಗುತ್ತದೆ | ಶಾಶ್ವತ ಸರ್ವರ್ ನಿರ್ವಹಣೆ |
| ಬೇರೆ port | bot scan ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ | ಒಂಟಿಯಾಗಿ ಸಾಕಷ್ಟು ಭದ್ರತೆ ನೀಡುವುದಿಲ್ಲ | key ಮತ್ತು firewall ಜೊತೆ ಬಳಸುವುದು ಉತ್ತಮ |
| Root login ಮುಚ್ಚುವುದು | ಅಧಿಕಾರದ ದುರುಪಯೋಗವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ | ತಪ್ಪಾದ sudo ಸೆಟಪ್ ಪ್ರವೇಶವನ್ನು ಕಷ್ಟಪಡಿಸಬಹುದು | production ಸರ್ವರ್ಗಳು |
ಮೂಲಭೂತ navigation ಮತ್ತು file listing ಕಮಾಂಡ್ಗಳು
Linux terminal ನಲ್ಲಿ ಮೊದಲು ಕಲಿಯಬೇಕಾದ ಕಮಾಂಡ್ಗಳು ಎಂದರೆ ಈಗ ನೀವು ಯಾವ directory ಯಲ್ಲಿದ್ದೀರಿ ಎಂಬುದು ನೋಡುವುದು, directory ಬದಲಿಸುವುದು ಮತ್ತು ಫೈಲ್ಗಳನ್ನು list ಮಾಡುವುದು. pwd ಕಮಾಂಡ್ ಪ್ರಸ್ತುತ ಸ್ಥಳವನ್ನು ತೋರಿಸುತ್ತದೆ. cd /var/www/html ಕಮಾಂಡ್ web root directory ಗೆ ಕರೆದೊಯ್ಯುತ್ತದೆ. cd .. ಒಂದು level ಮೇಲಿನ directory ಗೆ ಹೋಗಲು, cd ಮಾತ್ರ ಟೈಪ್ ಮಾಡಿದರೆ ಬಳಕೆದಾರನ home directory ಗೆ ಹಿಂದಿರುಗಲು ಬಳಸಲಾಗುತ್ತದೆ. ls ಕಮಾಂಡ್ ಫೈಲ್ಗಳನ್ನು list ಮಾಡುತ್ತದೆ; ls -la hidden files ಜೊತೆಗೆ permissions, ownership, size ಮತ್ತು date ಮಾಹಿತಿಯನ್ನು ತೋರಿಸುತ್ತದೆ.
ವೆಬ್ಮಾಸ್ಟರ್ಗಳಿಗೆ ವಿಶೇಷವಾಗಿ .htaccess, wp-config.php, robots.txt, sitemap.xml ಮತ್ತು index.php ಮುಂತಾದ ಫೈಲ್ಗಳನ್ನು ಬೇಗನೆ ಹುಡುಕುವುದು ಮುಖ್ಯ. ls -lah ಕಮಾಂಡ್ file sizeಗಳನ್ನು ಓದಲು ಸುಲಭವಾದ format ನಲ್ಲಿ ತೋರಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ 1048576 ಬದಲು 1.0M ಎಂದು ಕಾಣುತ್ತದೆ. ಒಂದು directory ಯಲ್ಲಿ ಅನೇಕ ಫೈಲ್ಗಳಿದ್ದರೆ ls -lt ಕಮಾಂಡ್ ಇತ್ತೀಚೆಗೆ ಬದಲಾದ ಫೈಲ್ಗಳನ್ನು ಮೇಲ್ಭಾಗದಲ್ಲಿ ತೋರಿಸುತ್ತದೆ. hack ಆದ ನಂತರ ಬದಲಾದ ಫೈಲ್ಗಳನ್ನು ಅಥವಾ ಹೊಸದಾಗಿ upload ಆದ plugin ಫೈಲ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಇದು ಬಹಳ ಉಪಯುಕ್ತ.
ಪ್ರಾಯೋಗಿಕ ಸಂದರ್ಭ: Web root directory ಪರಿಶೀಲಿಸುವುದು
ಒಂದು ಸೈಟ್ನ ಫೈಲ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ /var/www, /home/kullanici/public_html ಅಥವಾ /usr/share/nginx/html ಒಳಗೆ ಇರಬಹುದು. ಉದಾಹರಣೆ workflow ಹೀಗಿರಬಹುದು: pwd ಮೂಲಕ ನೀವು ಎಲ್ಲಿದ್ದೀರಿ ಎಂದು ನೋಡಿ, cd /var/www/siteadi ಮೂಲಕ site directory ಗೆ ಹೋಗಿ, ls -lah ಮೂಲಕ ಫೈಲ್ಗಳನ್ನು list ಮಾಡಿ, du -sh . ಮೂಲಕ ಆ directory ಯ ಒಟ್ಟು ಗಾತ್ರವನ್ನು ಪರಿಶೀಲಿಸಿ. ನೀವು ಒಂದೇ ಸರ್ವರ್ನಲ್ಲಿ ಹಲವು ಸೈಟ್ಗಳನ್ನು host ಮಾಡುತ್ತಿದ್ದರೆ ಪ್ರತಿ ಸೈಟ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ user ಮತ್ತು ಪ್ರತ್ಯೇಕ directory ಅಡಿಯಲ್ಲಿ ಇಡುವುದು security ಮತ್ತು maintenance ಎರಡಕ್ಕೂ ಉತ್ತಮ. Domain ನಿರ್ವಹಣೆಗೆ ಡೊಮೇನ್ ಕ್ವೆರಿ ಮತ್ತು ಸೈಟ್ launch ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಹೋಸ್ಟಿಂಗ್ ಸ್ಥಾಪನೆ ಮಾರ್ಗದರ್ಶಿಗಳೊಂದಿಗೆ ಮುಂದುವರಿಯಬಹುದು.
ಫೈಲ್ ಮತ್ತು ಫೋಲ್ಡರ್ ಕಾರ್ಯಗಳು: ರಚನೆ, copy, move, delete
ಫೈಲ್ ರಚಿಸಲು touch dosya.txt, folder ರಚಿಸಲು mkdir klasor-adi ಕಮಾಂಡ್ ಬಳಸಲಾಗುತ್ತದೆ. nested folders ಅನ್ನು ಒಂದೇ ಕಮಾಂಡ್ನಲ್ಲಿ ರಚಿಸಲು mkdir -p yedekler/2026/ocak ಎಂದು ಬರೆಯಬಹುದು. ಫೈಲ್ copy ಮಾಡಲು cp kaynak hedef, folder copy ಮಾಡಲು cp -r kaynak-klasor hedef-klasor ಮಾದರಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. move ಮಾಡಲು ಅಥವಾ rename ಮಾಡಲು mv eski-ad yeni-ad ಕಮಾಂಡ್ ಉಪಯೋಗಿಸಬಹುದು.
delete ಕಮಾಂಡ್ಗಳನ್ನು ಬಳಸುವಾಗ ಹೆಚ್ಚಿನ ಎಚ್ಚರಿಕೆ ಅಗತ್ಯ. rm dosya.txt ಒಂದು ಫೈಲ್ ಅನ್ನು delete ಮಾಡುತ್ತದೆ, rm -r klasor-adi ಒಂದು folder ಮತ್ತು ಅದರ ಒಳಗಿನ ವಿಷಯಗಳನ್ನು delete ಮಾಡುತ್ತದೆ. rm -rf ಕಮಾಂಡ್ confirmation ಕೇಳದೆ ಬಲವಂತವಾಗಿ delete ಮಾಡುತ್ತದೆ; ತಪ್ಪಾದ directory ಯಲ್ಲಿ ಇದನ್ನು ನಡೆಸಿದರೆ ದೊಡ್ಡ ನಷ್ಟ ಉಂಟಾಗಬಹುದು. production ಸರ್ವರ್ನಲ್ಲಿ rm -rf ಬಳಸುವ ಮೊದಲು ಖಂಡಿತವಾಗಿ pwd ಮೂಲಕ ನಿಮ್ಮ location ದೃಢೀಕರಿಸಿ ಮತ್ತು ls ಮೂಲಕ target ಪರಿಶೀಲಿಸಿ. ಪ್ರಮುಖ ಕಾರ್ಯಾಚರಣೆಗಳ ಮೊದಲು tar ಅಥವಾ rsync ಮೂಲಕ ಚಿಕ್ಕ backup ತೆಗೆದುಕೊಳ್ಳುವುದು, ಕೆಲವೇ ನಿಮಿಷಗಳ ಕೆಲಸದಿಂದ ಗಂಟೆಗಳ recovery ಸಂಕಷ್ಟವನ್ನು ತಪ್ಪಿಸಬಹುದು.
ಸುರಕ್ಷಿತ delete ಮಾಡುವ ಅಭ್ಯಾಸ
ಹೊಸಬರಿಗೆ ಅತ್ಯಂತ ಸುರಕ್ಷಿತ ವಿಧಾನವೆಂದರೆ ಫೈಲ್ ಅನ್ನು ನೇರವಾಗಿ delete ಮಾಡುವ ಬದಲು ಮೊದಲು quarantine folder ಗೆ move ಮಾಡುವುದು. ಉದಾಹರಣೆಗೆ mkdir /root/karantina ಮತ್ತು mv supheli-dosya.php /root/karantina/ ಕಮಾಂಡ್ಗಳಿಂದ ಫೈಲ್ ಅನ್ನು delete ಮಾಡದೆ isolate ಮಾಡಬಹುದು. ಸೈಟ್ ಸಮಸ್ಯೆಯಿಲ್ಲದೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೆ ನಂತರ ಶಾಶ್ವತವಾಗಿ delete ಮಾಡಬಹುದು. ಈ ವಿಧಾನ malware cleanup, plugin uninstall ಮತ್ತು theme ಬದಲಾವಣೆಗಳ ಸಂದರ್ಭದಲ್ಲಿ ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತ.
ಫೈಲ್ content ನೋಡಲು ಮತ್ತು edit ಮಾಡಲು ಬಳಸುವ ಕಮಾಂಡ್ಗಳು
ಒಂದು ಫೈಲ್ನ ಸಂಪೂರ್ಣ ವಿಷಯ ನೋಡಲು cat dosya.txt, page by page ಓದಲು less dosya.txt ಬಳಸಬಹುದು. ದೊಡ್ಡ log fileಗಳಲ್ಲಿ cat ಬಳಸಿದರೆ terminal ತುಂಬಿಹೋಗಬಹುದು; ಆದ್ದರಿಂದ less ಹೆಚ್ಚು ಸೂಕ್ತ. ಫೈಲ್ನ ಮೊದಲ ಸಾಲುಗಳನ್ನು ನೋಡಲು head dosya.txt, ಕೊನೆಯ ಸಾಲುಗಳನ್ನು ನೋಡಲು tail dosya.txt ಬಳಸಲಾಗುತ್ತದೆ. live log monitoring ಗೆ tail -f /var/log/nginx/error.log ಕಮಾಂಡ್ ಅತ್ಯಂತ ಉಪಯುಕ್ತ.
ಫೈಲ್ edit ಮಾಡಲು nano, vim ಅಥವಾ micro ಮುಂತಾದ editors ಬಳಸಬಹುದು. ಆರಂಭಿಕರಿಗೆ nano ಅತ್ಯಂತ ಸರಳ. nano .htaccess ಕಮಾಂಡ್ ಮೂಲಕ ಫೈಲ್ ತೆರೆಯಬಹುದು, ಬದಲಾವಣೆ ಮಾಡಿದ ನಂತರ Ctrl+O ಮೂಲಕ save ಮಾಡಿ Ctrl+X ಮೂಲಕ ಹೊರಬರಬಹುದು. PHP configuration, Nginx server block, Apache virtual host ಅಥವಾ robots.txt edit ಮಾಡುವಾಗ ಸಣ್ಣ typing ತಪ್ಪು ಕೂಡ ಸೈಟ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಎಂಬುದನ್ನು ಮರೆಯಬೇಡಿ. ಬದಲಾವಣೆಗೆ ಮೊದಲು cp dosya dosya.bak ಕಮಾಂಡ್ ಮೂಲಕ backup copy ತೆಗೆದುಕೊಳ್ಳುವುದು ಉತ್ತಮ standard.
Permission ಮತ್ತು ownership ನಿರ್ವಹಣೆ: chmod ಮತ್ತು chown
Linux ಸರ್ವರ್ಗಳಲ್ಲಿ file permissions ವೆಬ್ಸೈಟ್ ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು ಭದ್ರತೆಗೆ ಅತ್ಯಂತ ಮುಖ್ಯ. chmod ಕಮಾಂಡ್ permissions ಬದಲಿಸುತ್ತದೆ, chown ಕಮಾಂಡ್ ownership ಬದಲಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ವೆಬ್ಸೈಟ್ನಲ್ಲಿ folders ಗೆ 755, files ಗೆ 644 ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಮೌಲ್ಯಗಳು. ಉದಾಹರಣೆಗೆ chmod 644 wp-config.php ಫೈಲ್ permissions ಅನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ. folders ಗೆ bulk permission ನೀಡಲು find . -type d -exec chmod 755 {} ; ರೀತಿಯ logic ಬಳಸಬಹುದು; files ಗೆ find . -type f -exec chmod 644 {} ; ವಿಧಾನ ಅನುಕೂಲಕರ.
ownership ವಿಷಯದಲ್ಲಿ chown -R www-data:www-data /var/www/siteadi ತರಹದ ಕಮಾಂಡ್ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಆದರೆ ಈ value distribution ಮತ್ತು web server ಆಧರಿಸಿ ಬದಲಾಗಬಹುದು. Ubuntu ನಲ್ಲಿ Apache ಅಥವಾ Nginx ಸಾಮಾನ್ಯವಾಗಿ www-data ಬಳಕೆದಾರನನ್ನು ಬಳಸುತ್ತವೆ; cPanel ಮಾದರಿಯ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಪ್ರತಿ ಸೈಟ್ಗೆ ತನ್ನದೇ user ಇರಬಹುದು. ತಪ್ಪಾದ ownership upload ಸಮಸ್ಯೆಗಳಿಗೆ ಅಥವಾ 403 error ಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. ಅತಿಯಾಗಿ ವಿಶಾಲ permission, ಉದಾಹರಣೆಗೆ 777, ತಾತ್ಕಾಲಿಕವಾಗಿ ಸಮಸ್ಯೆ ಪರಿಹರಿಸಿದಂತೆ ಕಾಣಿಸಿದರೂ security hole ಸೃಷ್ಟಿಸುತ್ತದೆ. ವಿಶೇಷವಾಗಿ upload directories ನಲ್ಲಿ executable files ಅನ್ನು ತಡೆಯುವುದು ಮತ್ತು write permissions ಅನ್ನು ನಿಯಂತ್ರಿಸುವುದು ಮುಖ್ಯ.
Disk, RAM ಮತ್ತು CPU ಪರಿಶೀಲಿಸಲು ಮೂಲ ಕಮಾಂಡ್ಗಳು
Performance ಸಮಸ್ಯೆ ಬಂದಾಗ ಮೊದಲು ನೋಡಬೇಕಾದದ್ದು resource usage. df -h disk partitions ಎಷ್ಟು ತುಂಬಿವೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. root partition 100% ತುಂಬಿದ್ದರೆ services log ಬರೆಯಲು ಆಗುವುದಿಲ್ಲ, database lock ಆಗಬಹುದು ಮತ್ತು site 500 error ನೀಡಬಹುದು. du -sh * ಕಮಾಂಡ್ ನೀವು ಇರುವ directory ಯಲ್ಲಿನ folders ಗಾತ್ರವನ್ನು ಸಾರಾಂಶವಾಗಿ ತೋರಿಸುತ್ತದೆ. ದೊಡ್ಡ log, cache ಅಥವಾ backup files ಹುಡುಕಲು du -ah /var/www | sort -h | tail ಕಮಾಂಡ್ ಬಳಸಬಹುದು.
RAM ಮತ್ತು processorಗಾಗಿ top ಅಥವಾ htop ಕಮಾಂಡ್ಗಳು ಬಳಸಲಾಗುತ್ತದೆ. htop install ಆಗಿಲ್ಲದಿದ್ದರೆ apt install htop ಅಥವಾ dnf install htop ಮೂಲಕ install ಮಾಡಬಹುದು. free -m ಕಮಾಂಡ್ RAM ಮತ್ತು swap ಸ್ಥಿತಿಯನ್ನು ತೋರಿಸುತ್ತದೆ. uptime ಕಮಾಂಡ್ system ಎಷ್ಟು ಸಮಯದಿಂದ ಚಾಲ್ತಿಯಲ್ಲಿದೆ ಮತ್ತು load average ಮೌಲ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ. single-core ಸರ್ವರ್ನಲ್ಲಿ load value ಹೆಚ್ಚು ಹೊತ್ತು 1 ಕ್ಕಿಂತ ಮೇಲೆ ಉಳಿದರೆ ಅಥವಾ multi-core ಸರ್ವರ್ನಲ್ಲಿ core count ಮೀರಿದರೆ performance ಸಮಸ್ಯೆಯ ಸೂಚನೆ ಆಗಬಹುದು. traffic ಹೆಚ್ಚಳ ನಿಯಮಿತವಾಗಿದ್ದರೆ ಬಲವಾದ plan ಅಥವಾ optimization ಅಗತ್ಯವಾಗಬಹುದು; ಈ ಹಂತದಲ್ಲಿ ಲಿನಕ್ಸ VPS ಮತ್ತು ಕೋಷ್ಟಕ ಹೋಸ್ಟಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ಪರಿಗಣಿಸಬಹುದು.
Service ನಿರ್ವಹಣೆ: systemctl ಮೂಲಕ Apache, Nginx, PHP ಮತ್ತು MySQL ನಿಯಂತ್ರಣ
ಆಧುನಿಕ Linux distributions ನಲ್ಲಿ service management ಹೆಚ್ಚಾಗಿ systemctl ಮೂಲಕ ನಡೆಯುತ್ತದೆ. ಒಂದು service ಸ್ಥಿತಿಯನ್ನು ನೋಡಲು systemctl status nginx, restart ಮಾಡಲು systemctl restart nginx, configuration ಮರುಲೋಡ್ ಮಾಡಲು systemctl reload nginx ಕಮಾಂಡ್ಗಳನ್ನು ಬಳಸಬಹುದು. Apache ಗೆ apache2 ಅಥವಾ httpd, PHP-FPM ಗೆ php8.2-fpm ಅಥವಾ ಅದಕ್ಕೆ ಸಮಾನ version name, MySQL ಗೆ mysql ಅಥವಾ mariadb service name ಆಗಿರಬಹುದು.
ಪ್ರತಿ restart ಗಿಂತ ಮೊದಲು configuration test ಮಾಡುವುದು ಒಳ್ಳೆಯ ಅಭ್ಯಾಸ. Nginx ಗೆ nginx -t, Apache ಗೆ apachectl configtest ಕಮಾಂಡ್ ಬಳಸಲಾಗುತ್ತದೆ. test fail ಆದರೆ restart ಮಾಡಿದರೆ ಸೈಟ್ down ಆಗಬಹುದು. ಉದಾಹರಣೆಗೆ Nginx configuration ನಲ್ಲಿ semicolon ತಪ್ಪಿದ್ದರೆ nginx -t ಆ error ಅನ್ನು line number ಜೊತೆಗೆ ತೋರಿಸುತ್ತದೆ. ಮೊದಲು ತಪ್ಪನ್ನು ಸರಿಪಡಿಸಿ ನಂತರ systemctl reload nginx run ಮಾಡುವುದು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ.
ವೆಬ್ಮಾಸ್ಟರ್ಗಾಗಿ ವೇಗದ service checklist
- ಸೈಟ್ ತೆರೆಯದಿದ್ದರೆ ಮೊದಲು browser refresh ಮಾಡುವುದಕ್ಕಿಂತ ಸರ್ವರ್ನಲ್ಲಿ systemctl status web-servisi ಪರಿಶೀಲಿಸಿ.
- 502 error ಬಂದರೆ PHP-FPM ಸ್ಥಿತಿ ಮತ್ತು Nginx error log ಪರಿಶೀಲಿಸಿ.
- Database connection error ಇದ್ದರೆ systemctl status mysql ಮತ್ತು disk fullness ನೋಡಿ.
- Configuration ಬದಲಿಸಿದ್ದರೆ restart ಬದಲು ಸಾಧ್ಯವಾದರೆ reload ಬಳಸಿ.
- ಪ್ರತಿ ಬದಲಾವಣೆಗೆ ಮೊದಲು ಸಂಬಂಧಿತ ಫೈಲ್ನ .bak copy ತೆಗೆದುಕೊಳ್ಳಿ.
Log ಪರಿಶೀಲನೆ: error ಮೂಲವನ್ನು ನಿಮಿಷಗಳಲ್ಲಿ ಪತ್ತೆಹಚ್ಚುವುದು
Log files ಸರ್ವರ್ನ black box ಹಾಗೆ. Nginx ಗಾಗಿ /var/log/nginx/access.log ಮತ್ತು /var/log/nginx/error.log, Apache ಗಾಗಿ /var/log/apache2/access.log ಮತ್ತು /var/log/apache2/error.log ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. PHP-FPM log ಗಳು distribution ಆಧರಿಸಿ /var/log/php8.2-fpm.log ಅಥವಾ journalctl ಒಳಗೆ ಇರಬಹುದು. MySQL logs ಸಾಮಾನ್ಯವಾಗಿ /var/log/mysql/error.log ಅಡಿಯಲ್ಲಿ ಸಿಗಬಹುದು.
journalctl -xe ಕಮಾಂಡ್ system services ಗೆ ಸಂಬಂಧಿಸಿದ ಇತ್ತೀಚಿನ errors ತೋರಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ service ಗಾಗಿ journalctl -u nginx -n 100 ಬರೆಯುವುದರಿಂದ Nginx service ನ ಕೊನೆಯ 100 entries list ಆಗುತ್ತವೆ. live follow ಮಾಡಲು journalctl -u php8.2-fpm -f ಬಳಸಬಹುದು. log ಒಳಗೆ ನಿರ್ದಿಷ್ಟ ಪದ ಹುಡುಕಲು grep ಕಮಾಂಡ್ ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ grep 500 access.log, 500 status codes ಹುಡುಕಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. grep -i error dosya.log uppercase/lowercase ವ್ಯತ್ಯಾಸವನ್ನು ಲೆಕ್ಕಿಸದೆ search ಮಾಡುತ್ತದೆ.
SEO ದೃಷ್ಟಿಯಿಂದ log analysis ಕೇವಲ error ಪರಿಹಾರಕ್ಕಲ್ಲ; crawl budget ಮತ್ತು bot behavior ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕೂಡ ಬಹಳ ಉಪಯುಕ್ತ. Googlebot ಯಾವ pages ಭೇಟಿ ಮಾಡುತ್ತಿದೆ, 404 errors ಹೆಚ್ಚು ಕಾಣುವ URL ಗಳು ಯಾವುವು, ನಿಧಾನವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವ resources ಯಾವುವು ಎಂಬುದನ್ನು access log ಮೂಲಕ ನೋಡಬಹುದು. Technical SEO audit ಗಾಗಿ SEO ಅನುಕೂಲಿತ ಹೋಸ್ಟಿಂಗ್ ಮತ್ತು ವೆಬ್ ಸೈಟ್ ವೇಗದ ಉತ್ತಮೀಕರಣ ವಿಷಯಗಳೊಂದಿಗೆ log analysis ಅನ್ನು ನಿಯಮಿತಗೊಳಿಸುವುದು ಉತ್ತಮ.
Search, filtering ಮತ್ತು text processing ಕಮಾಂಡ್ಗಳು

ಸರ್ವರ್ನಲ್ಲಿ ಫೈಲ್ ಅಥವಾ text ಹುಡುಕಲು find, grep, awk ಮತ್ತು sed ಬಹಳ ಶಕ್ತಿಶಾಲಿ tools. find /var/www -name wp-config.php ಕಮಾಂಡ್ ನಿರ್ದಿಷ್ಟ ಫೈಲ್ ಹುಡುಕುತ್ತದೆ. find . -type f -mtime -1 ಕಳೆದ 24 ಗಂಟೆಗಳಲ್ಲಿ ಬದಲಾದ files ತೋರಿಸುತ್ತದೆ. unauthorized file change ಅನುಮಾನ ಇದ್ದಾಗ ಈ ಕಮಾಂಡ್ ಬಹಳ ಸಹಾಯಕ. grep -R base64_decode . ಕಮಾಂಡ್ ನೀವು ಇರುವ directory ಯಲ್ಲಿ base64_decode ಇರುವ files ಹುಡುಕುತ್ತದೆ; ಈ expression ಯಾವಾಗಲೂ malware ಎಂದರ್ಥವಲ್ಲ, ಆದರೆ ದುರುದ್ದೇಶದ PHP code ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಕಾಣಬಹುದು.
Log analysis ನಲ್ಲಿ awk ಮೂಲಕ ನಿರ್ದಿಷ್ಟ columns ಬೇರ್ಪಡಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ access log ನಲ್ಲಿ ಹೆಚ್ಚು requests ಕಳುಹಿಸಿದ IP addresses ನೋಡಲು awk ಮೂಲಕ IP column ತೆಗೆದು, sort ಮತ್ತು uniq -c ಮೂಲಕ count ಮಾಡಬಹುದು. ಇಂಥ analysis ಹೆಚ್ಚು bot traffic, brute force attempts ಅಥವಾ DDoS ರೀತಿಯ ವರ್ತನೆಗಳನ್ನು ಬೇಗ ಗುರುತಿಸಲು ನೆರವಾಗುತ್ತದೆ. advanced ಮಟ್ಟದಲ್ಲಿ fail2ban, rate limiting ಮತ್ತು WAF solutions ಜೊತೆ ಬಳಸಿದರೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ.
ಫೈಲ್ transfer: scp, sftp ಮತ್ತು rsync
SSH ಕೇವಲ command run ಮಾಡಲು ಮಾತ್ರವಲ್ಲ, file transfer ಗೂ ಬಳಸಲಾಗುತ್ತದೆ. scp yerel-dosya kullanıcı@sunucu-ip:/hedef/dizin ಕಮಾಂಡ್ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನ ಫೈಲ್ ಅನ್ನು ಸರ್ವರ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಸರ್ವರ್ನಿಂದ ಕಂಪ್ಯೂಟರ್ಗೆ ಪಡೆಯಲು scp kullanıcı@sunucu-ip:/dosya/yolu ./ ಎಂದು ಬರೆಯಬಹುದು. ದೊಡ್ಡ folders ಗಳಲ್ಲಿ scp ಬದಲು rsync ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ; ಏಕೆಂದರೆ ಬದಲಾಗದ files ಅನ್ನು ಮತ್ತೆ transfer ಮಾಡುವುದಿಲ್ಲ.
rsync -avz kaynak/ kullanıcı@sunucu-ip:/hedef/ ಕಮಾಂಡ್ archive mode, compression ಮತ್ತು detailed output ಜೊತೆ transfer ಮಾಡುತ್ತದೆ. --delete parameter target ನಲ್ಲಿ ಇದ್ದು source ನಲ್ಲಿ ಇಲ್ಲದ files ಅನ್ನು delete ಮಾಡುತ್ತದೆ; ಆದ್ದರಿಂದ ಬಹಳ ಎಚ್ಚರಿಕೆಯಿಂದ ಬಳಸಬೇಕು. WordPress migration, staging environment ನಿಂದ live environment ಗೆ files ಕಳುಹಿಸುವುದು ಅಥವಾ backup server ಗೆ synchronization ಮಾಡಲು rsync ಬಲವಾದ ಪರಿಹಾರ. SSL setup ಅಥವಾ HTTPS migration ಮಾಡುತ್ತಿದ್ದರೆ file transfer ಗಿಂತ ಮೊದಲು certificate ಮತ್ತು redirect plan ಸ್ಪಷ್ಟವಾಗಿರಲಿ; SSL ಪ್ರಮಾಣಪತ್ರ ವಿಷಯವು ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸಹಾಯ ಮಾಡಬಹುದು.
Backup ಮತ್ತು restore ಗಾಗಿ SSH ಕಮಾಂಡ್ಗಳು
Backup ಎಂದರೆ server management ನ insurance. file backup ಗಾಗಿ tar -czf site-yedek.tar.gz /var/www/siteadi ಕಮಾಂಡ್ ಬಳಸಬಹುದು. ಇದು directory ಯನ್ನು gzip compressed archive ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. archive ತೆಗೆಯಲು tar -xzf site-yedek.tar.gz ಕಮಾಂಡ್ ಬಳಸಲಾಗುತ್ತದೆ. ದೊಡ್ಡ sites ಗಳಲ್ಲಿ backup ಅನ್ನು web directory ಹೊರಗೆ ಇಡುವುದು ಮತ್ತು ಸಾಧ್ಯವಾದರೆ remote storage ಗೆ ಕಳುಹಿಸುವುದು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ.
Database backup ಗಾಗಿ mysqldump -u kullanici -p veritabani_adi > yedek.sql ಕಮಾಂಡ್ ಸಾಮಾನ್ಯ. restore ಮಾಡಲು mysql -u kullanici -p veritabani_adi < yedek.sql ಬಳಸಲಾಗುತ್ತದೆ. ದೊಡ್ಡ databases ನಲ್ಲಿ ಕಾರ್ಯಾಚರಣೆ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು; screen ಅಥವಾ tmux ಬಳಸಿದರೆ connection ಕಡಿತವಾದರೂ process ಮುಂದುವರಿಯುತ್ತದೆ. ಉದಾಹರಣೆಗೆ screen -S yedek ಕಮಾಂಡ್ ಮೂಲಕ session ತೆರೆಯಿಸಿ backup ಕಾರ್ಯ ಆರಂಭಿಸಬಹುದು, Ctrl+A ನಂತರ D ಒತ್ತಿ session ನಿಂದ detach ಆಗಬಹುದು. ನಂತರ screen -r yedek ಮೂಲಕ ಮತ್ತೆ ಹಿಂದಿರುಗಬಹುದು.
ಭದ್ರತೆಗೆ ಪ್ರಮುಖ SSH settings
SSH security ಎಂದರೆ server security ಯ ಮುಖ್ಯ ಬಾಗಿಲು. ಮೊದಲ ಶಿಫಾರಸು root user ಮೂಲಕ direct login ಮುಚ್ಚುವುದು. ಅದರ ಬದಲು sudo permission ಇರುವ normal user ರಚಿಸಲಾಗುತ್ತದೆ. adduser webmaster ಕಮಾಂಡ್ user ಸೇರಿಸುತ್ತದೆ, usermod -aG sudo webmaster ಕಮಾಂಡ್ sudo permission ನೀಡುತ್ತದೆ. ನಂತರ SSH configuration ಅನ್ನು /etc/ssh/sshd_config ಫೈಲ್ನಲ್ಲಿ edit ಮಾಡಲಾಗುತ್ತದೆ. PermitRootLogin no ಮತ್ತು PasswordAuthentication no ಮುಂತಾದ settings ಅನ್ನು key-based login ಜೊತೆ ಬಳಸಬಹುದು.
ಬದಲಾವಣೆಯ ನಂತರ sshd configuration test ಮಾಡುವುದು ಮತ್ತು ಈಗಿರುವ session ಮುಚ್ಚದೆ ಹೊಸ terminal ಮೂಲಕ connection test ಮಾಡುವುದು ಅತ್ಯಂತ ಮುಖ್ಯ. ತಪ್ಪಾದ setting ಮಾಡಿದರೆ ನೀವು ಸರ್ವರ್ನಿಂದ lock out ಆಗಬಹುದು. firewall ವಿಷಯದಲ್ಲಿ ufw allow 2222/tcp ಮತ್ತು ufw enable ಕಮಾಂಡ್ಗಳಿಂದ ಅಗತ್ಯ port ಗಳನ್ನು ಮಾತ್ರ open ಮಾಡಬೇಕು. ಆದರೆ SSH port ಬದಲಿಸಿದ್ದರೆ ಹಳೆಯ session ಮುಚ್ಚುವ ಮೊದಲು ಹೊಸ port ಮೂಲಕ connect ಆಗುತ್ತಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಕನಿಷ್ಠ security checklist
- ಬಲವಾದ password ಅಥವಾ ಸಾಧ್ಯವಾದರೆ SSH key ಬಳಸಿ.
- Root login ಮುಚ್ಚಿ ಮತ್ತು sudo permission ಇರುವ user ರಚಿಸಿ.
- ಅಗತ್ಯವಿಲ್ಲದ services ಮುಚ್ಚಿ, ಬೇಕಾದ ports ಮಾತ್ರ open ಮಾಡಿ.
- System packages ನಿಯಮಿತವಾಗಿ update ಮಾಡಿ: apt update ಮತ್ತು apt upgrade.
- Logs ಅನ್ನು ನಿಯಮಿತವಾಗಿ ಪರಿಶೀಲಿಸಿ; suspicious IP ಗಳಿಗಾಗಿ fail2ban ಬಳಸಿ.
- Backups ಅನ್ನು ಅದೇ ಸರ್ವರ್ನಲ್ಲಿ ಒಂದೇ copy ಆಗಿ ಬಿಟ್ಟುಬಿಡಬೇಡಿ.
Package management ಮತ್ತು update ಕಮಾಂಡ್ಗಳು
Ubuntu ಮತ್ತು Debian ಆಧಾರಿತ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ apt ಬಳಸಲಾಗುತ್ತದೆ; AlmaLinux ಮತ್ತು Rocky Linux ಮುಂತಾದ RHEL ಆಧಾರಿತ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ dnf ಅಥವಾ yum ಬಳಸಲಾಗುತ್ತದೆ. Ubuntu ನಲ್ಲಿ apt update package list update ಮಾಡುತ್ತದೆ, apt upgrade install ಆಗಿರುವ packages upgrade ಮಾಡುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ package install ಮಾಡಲು apt install nginx, remove ಮಾಡಲು apt remove paket-adi ಕಮಾಂಡ್ ಬಳಸಬಹುದು. RHEL ಆಧಾರಿತ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ dnf update ಮತ್ತು dnf install paket-adi ಸಮಾನ ಕೆಲಸ ಮಾಡುತ್ತವೆ.
Live server ನಲ್ಲಿ updates ಅನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಮಾಡುವುದಕ್ಕಿಂತ maintenance window ನಲ್ಲಿ ಮಾಡುವುದು ಹೆಚ್ಚು ಸರಿಯಾದ ವಿಧಾನ. ವಿಶೇಷವಾಗಿ PHP, MySQL, OpenSSL ಮತ್ತು web server updates ಸೈಟ್ನ ವರ್ತನೆ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ. critical security updates ತಡಮಾಡಬಾರದು; ಆದರೆ ಮೊದಲು backup ತೆಗೆದುಕೊಳ್ಳುವುದು, configurations ಪರಿಶೀಲಿಸುವುದು ಮತ್ತು ಸಾಧ್ಯವಾದರೆ staging environment ನಲ್ಲಿ test ಮಾಡುವುದು professional approach.
ವೆಬ್ಮಾಸ್ಟರ್ಗಳಿಗೆ ಉದಾಹರಣೆಯ emergency response flow
ಒಂದು ಬೆಳಗ್ಗೆ ನಿಮ್ಮ ಸೈಟ್ ತೆರೆಯುತ್ತಿಲ್ಲ ಎಂದು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. panic ಆಗುವುದಕ್ಕಿಂತ standard flow ಅನುಸರಿಸುವುದು ವೇಗದ ಪರಿಹಾರ. ಮೊದಲು SSH ಮೂಲಕ connect ಆಗಿ. uptime ಮೂಲಕ server respond ಮಾಡುತ್ತಿದೆಯೇ ಮತ್ತು load value ಹೇಗಿದೆ ಎಂದು ನೋಡಿ. df -h ಮೂಲಕ disk usage ಪರಿಶೀಲಿಸಿ. free -m ಮತ್ತು top ಮೂಲಕ RAM ಮತ್ತು CPU ಬಳಕೆ ನೋಡಿ. ನಂತರ systemctl status nginx ಅಥವಾ apache2 ಮೂಲಕ web service ಸ್ಥಿತಿ ಪರಿಶೀಲಿಸಿ. 502 error ಇದ್ದರೆ PHP-FPM service status ನೋಡಿ. Database error ಇದ್ದರೆ systemctl status mysql ಮತ್ತು ಸಂಬಂಧಿತ log file ಪರಿಶೀಲಿಸಿ.
ಅದಾದ ಮೇಲೆ tail -n 100 error log ಮೂಲಕ ಇತ್ತೀಚಿನ errors ಓದಿ. ಸಮಸ್ಯೆ ಹೊಸ plugin ಅಥವಾ theme update ನಂತರ ಪ್ರಾರಂಭವಾಗಿದ್ದರೆ ls -lt ಮೂಲಕ ಇತ್ತೀಚೆಗೆ ಬದಲಾದ files ಹುಡುಕಿ. ಅಗತ್ಯವಿದ್ದರೆ ಸಂಬಂಧಿತ folder ಅನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ rename ಮಾಡಿ. disk ತುಂಬಿದ್ದರೆ ಹಳೆಯ logs ಅಥವಾ ಅಗತ್ಯವಿಲ್ಲದ backups ಪತ್ತೆಹಚ್ಚಿ; ನೇರವಾಗಿ delete ಮಾಡುವ ಮೊದಲು ಅವು ಯಾವ files ಎಂಬುದನ್ನು ದೃಢಪಡಿಸಿ. ಈ ಹಂತಗಳು ಹೆಚ್ಚಿನ ಸಾಮಾನ್ಯ downtime ಸಂದರ್ಭಗಳಲ್ಲಿ 5 ರಿಂದ 15 ನಿಮಿಷಗಳೊಳಗೆ ಕಾರಣವನ್ನು ಸೀಮಿತಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ.
SSH ಕಮಾಂಡ್ಗಳನ್ನು ಬಳಸುವಾಗ ಸಾಮಾನ್ಯವಾಗಿ ಮಾಡುವ ತಪ್ಪುಗಳು
ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ತಪ್ಪು ಎಂದರೆ ಕಮಾಂಡ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳದೆ copy-paste ಮಾಡಿ run ಮಾಡುವುದು. ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ಕಾಣುವ ಪ್ರತಿಯೊಂದು ಕಮಾಂಡ್ ನಿಮ್ಮ server ಗೆ ಸೂಕ್ತವಾಗಿರಬೇಕೆಂದಿಲ್ಲ. ವಿಶೇಷವಾಗಿ rm -rf, chmod -R 777, chown -R ಮತ್ತು database delete ಕಮಾಂಡ್ಗಳು ಗಂಭೀರ ಅಪಾಯ ಹೊಂದಿವೆ. ಎರಡನೇ ತಪ್ಪು root user ಆಗಿಯೇ ಯಾವಾಗಲೂ ಕೆಲಸ ಮಾಡುವುದು. root permission ಬೇಕಾದಾಗ sudo ಬಳಸುವುದು, ತಪ್ಪಾಗಿ system files ಬದಲಿಸುವ ಅಪಾಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಮೂರನೇ ತಪ್ಪು backup ಇಲ್ಲದೆ ಬದಲಾವಣೆ ಮಾಡುವುದು. ಸರಳ configuration file ಕೂಡ ಸೈಟ್ ಅನ್ನು down ಮಾಡಬಹುದು. ನಾಲ್ಕನೇ ತಪ್ಪು logs ಓದದೆ services ಅನ್ನು ಮತ್ತೆ ಮತ್ತೆ restart ಮಾಡುವುದು. restart ಕೆಲವೊಮ್ಮೆ ತಾತ್ಕಾಲಿಕ ಪರಿಹಾರ ನೀಡಬಹುದು, ಆದರೆ ಮೂಲ ಕಾರಣವನ್ನು ಮರೆಮಾಡಬಹುದು. ಐದನೇ ತಪ್ಪು security updates ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿರ್ಲಕ್ಷಿಸುವುದು. update ಆಗದ PHP, CMS ಅಥವಾ server packages attack surface ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ.
ಮೂಲ SSH ಕಮಾಂಡ್ಗಳ ಸಾರಾಂಶ table
| ಕಾರ್ಯ | ಕಮಾಂಡ್ | ಯಾವಾಗ ಬಳಸಬೇಕು? |
|---|---|---|
| ಸಂಪರ್ಕ | ssh kullanıcı@sunucu-ip | ಸರ್ವರ್ಗೆ terminal ಮೂಲಕ connect ಆಗಲು |
| Directory ನೋಡುವುದು | pwd | ನೀವು ಯಾವ folder ನಲ್ಲಿ ಇದ್ದೀರಿ ತಿಳಿಯಲು |
| Listing | ls -lah | Files, permissions, owner ಮತ್ತು size ನೋಡಲು |
| Disk check | df -h | Disk fullness ಪರಿಶೀಲಿಸಲು |
| Folder size | du -sh * | ಯಾವ folder ಹೆಚ್ಚು ಜಾಗ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದೆ ತಿಳಿಯಲು |
| Service status | systemctl status nginx | Web service ಕೆಲಸ ಮಾಡುತ್ತಿದೆಯೇ ನೋಡಲು |
| Log follow | tail -f hata.log | Live error monitoring ಮಾಡಲು |
| File backup | tar -czf yedek.tar.gz klasor | Site files compress ಮಾಡಲು |
| Transfer | rsync -avz kaynak hedef | ದೊಡ್ಡ files ಅಥವಾ folders synchronize ಮಾಡಲು |
| Permission change | chmod 644 dosya | File access permissions ಸರಿಪಡಿಸಲು |
ಸಾರಾಂಶ: SSH ಜ್ಞಾನವು ವೆಬ್ಮಾಸ್ಟರ್ನ ಕಾರ್ಯಾಚರಣಾ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ
SSH ಕಮಾಂಡ್ಗಳಿಂದ Linux ಸರ್ವರ್ ನಿರ್ವಹಣೆ ಎನ್ನುವುದು ಕೇವಲ system administrators ಮಾತ್ರ ತಿಳಿಯಬೇಕಾದ ಕೌಶಲ್ಯವಲ್ಲ; ಗಂಭೀರ web projects ನೋಡಿಕೊಳ್ಳುವ ವೆಬ್ಮಾಸ್ಟರ್ಗಳಿಗೂ ತಿಳಿಯಬೇಕಾದ ಮೂಲ ಕೌಶಲ್ಯ. ಸರಿಯಾದ ಕಮಾಂಡ್ಗಳೊಂದಿಗೆ file management, log analysis, service control, backup ಮತ್ತು security ಕಾರ್ಯಗಳು ವೇಗವಾಗಿ ಹಾಗೂ ಅಳೆಯಬಹುದಾದ ರೀತಿಯಲ್ಲಿ ನಡೆಯುತ್ತವೆ. ಆರಂಭದಲ್ಲಿ ಕೆಲವೇ ಕಮಾಂಡ್ಗಳು ಸಾಕಾಗುತ್ತವೆ; ಕಾಲಕ್ರಮೇಣ ಅವುಗಳನ್ನು ಸುರಕ್ಷಿತ ಅಭ್ಯಾಸಗಳೊಂದಿಗೆ ಜೋಡಿಸಿದರೆ ನೀವು ಹೆಚ್ಚು ಸ್ವತಂತ್ರ, ಸಿದ್ಧ ಮತ್ತು ಆತ್ಮವಿಶ್ವಾಸಿ ಆಗುತ್ತೀರಿ.
Hostragons ನಲ್ಲಿ ನಿಮ್ಮ hosting, VPS, domain ಮತ್ತು SSL ಮೂಲಸೌಕರ್ಯವನ್ನು ಯೋಜಿಸುವಾಗ SSH access, backup, security ಮತ್ತು performance ಅಗತ್ಯಗಳನ್ನು ಒಟ್ಟಿಗೆ ಪರಿಗಣಿಸುವುದು ದೀರ್ಘಾವಧಿಯಲ್ಲಿ ಉತ್ತಮ ಫಲಿತಾಂಶ ನೀಡುತ್ತದೆ. ನಿಮಗೆ ಬೇಕಾದ server type ಆಯ್ಕೆಮಾಡಲು ಅಥವಾ ಈಗಿನ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಲಪಡಿಸಲು ಸಂಬಂಧಿತ Hostragons guides ಪರಿಶೀಲಿಸಿ, ನಿಮ್ಮ project ಗೆ ತಕ್ಕ infrastructure ಅನ್ನು ಶಾಂತವಾಗಿ ಮತ್ತು technical requirements ಆಧರಿಸಿ ನಿರ್ಧರಿಸಬಹುದು.
ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು
SSH ಕಮಾಂಡ್ಗಳಿಂದ Linux server ನಿರ್ವಹಿಸಲು root ಆಗಿರಲೇಬೇಕೇ?
ಇಲ್ಲ. production servers ನಲ್ಲಿ direct root ಬಳಕೆ ಶಿಫಾರಸು ಮಾಡಲಾಗುವುದಿಲ್ಲ. sudo permission ಇರುವ normal user ಮೂಲಕ connect ಆಗಿ, ಅಗತ್ಯವಿದ್ದಾಗ sudo ಕಮಾಂಡ್ ಮೂಲಕ administration ಕಾರ್ಯಗಳನ್ನು ಮಾಡುವುದು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ವಿಧಾನ.
ಹೊಸ ವೆಬ್ಮಾಸ್ಟರ್ ಮೊದಲಿಗೆ ಯಾವ SSH ಕಮಾಂಡ್ಗಳನ್ನು ಕಲಿಯಬೇಕು?
ಮೊದಲ ಆದ್ಯತೆ ssh, pwd, cd, ls -lah, cp, mv, rm, nano, df -h, du -sh, top, systemctl, tail -f, grep, tar, scp ಮತ್ತು rsync ಕಮಾಂಡ್ಗಳಿಗೆ ಇರಲಿ. ಇವು ದಿನನಿತ್ಯದ file, service, log ಮತ್ತು backup ಕಾರ್ಯಗಳ ಬಹುಪಾಲನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಕಾಗುತ್ತವೆ.
SSH connection ಏಕೆ refused ಆಗುತ್ತದೆ?
ಸಾಮಾನ್ಯ ಕಾರಣಗಳು ತಪ್ಪಾದ IP ಅಥವಾ port ಬಳಕೆ, SSH service ಚಾಲ್ತಿಯಲ್ಲಿ ಇಲ್ಲದಿರುವುದು, firewall block, ತಪ್ಪಾದ username, ತಪ್ಪಾದ key file ಅಥವಾ server ನಲ್ಲಿ PasswordAuthentication setting ಮುಚ್ಚಿರುವುದು. ಮೊದಲು port, user ಮತ್ತು service status ಪರಿಶೀಲಿಸಬೇಕು.
chmod 777 ಬಳಸುವುದು ಸುರಕ್ಷಿತವೇ?
ಸಾಮಾನ್ಯವಾಗಿ ಇಲ್ಲ. chmod 777 ಫೈಲ್ ಅಥವಾ folder ಅನ್ನು ಎಲ್ಲರಿಗೂ read, write ಮತ್ತು execute ಮಾಡಲು ಬಿಡುತ್ತದೆ. ಇದು ವಿಶೇಷವಾಗಿ web directories ನಲ್ಲಿ security risk ಉಂಟುಮಾಡುತ್ತದೆ. ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ folders ಗೆ 755 ಮತ್ತು files ಗೆ 644 ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಆರಂಭಿಕ ಮೌಲ್ಯ.
SSH ಮೂಲಕ backup ತೆಗೆದುಕೊಳ್ಳುವುದೇ ಉತ್ತಮ, ಅಥವಾ panel ಮೂಲಕ backup ತೆಗೆದುಕೊಳ್ಳುವುದೇ?
ಎರಡನ್ನೂ ಬಳಸಬಹುದು. Panel backups ಸುಲಭ ಮತ್ತು ತ್ವರಿತ; SSH backups ಹೆಚ್ಚು flexible ಮತ್ತು automation ಗೆ ಸೂಕ್ತ. ದೊಡ್ಡ sites ಗಳಲ್ಲಿ tar, mysqldump ಮತ್ತು rsync ಮೂಲಕ SSH backup ತೆಗೆದುಕೊಳ್ಳುವುದು ಹೆಚ್ಚು ನಿಯಂತ್ರಿತವಾಗಿರಬಹುದು. ಉತ್ತಮ ವಿಧಾನವೆಂದರೆ ನಿಯಮಿತ, test ಮಾಡಲ್ಪಟ್ಟ ಮತ್ತು remote copy ಹೊಂದಿರುವ backup strategy.