Paano i-secure ang SSH sa Linux VPS

Ni ONIE Engineering Team · Na-update noong Nobyembre 12, 2026 · 3 minutong basahin

Ang VPS na nakalantad sa publiko ay nakakatanggap ng automated na login attempts sa loob ng ilang minuto mula nang ma-online ito. Ginagawa ng mga hakbang na ito na mas mahirap atakihin ang SSH. Nakasulat ang mga ito para sa Ubuntu o Debian. Kung wala ka pang server, maaari kang umupa ng Linux VPS at magsimula sa malinis na image. Panatilihing bukas ang kasalukuyan mong SSH session hanggang masubukan mo ang mga bagong setting mula sa pangalawang window.

1. Gumawa ng normal na user na may sudo

adduser deploy
usermod -aG sudo deploy

2. Gumamit ng SSH keys sa halip na password

Sa sarili mong computer:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

Mag-log in nang isang beses gamit ang key para tiyaking gumagana ito bago mo i-off ang password.

3. I-off ang password at root login

Gumawa ng /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Suriin ang syntax at i-reload ang service. Ang service ay tinatawag na ssh sa Ubuntu at Debian, at sshd naman sa mga RHEL-based na sistema:

sudo sshd -t && sudo systemctl reload ssh

Magbukas ng pangalawang terminal at mag-log in ulit. Saka mo lang isara ang lumang session.

4. I-enable ang firewall

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Buksan lamang ang mga port na kailangan mo, halimbawa ang 80 at 443 para sa web server. Maaari mo ring paghigpitan ang SSH sa sarili mong IP address gamit ang firewall rule sa cloud console.

5. Harangin ang paulit-ulit na failure gamit ang Fail2ban

sudo apt install -y fail2ban

Gumawa ng /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Mag-install ng security updates nang awtomatiko

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. Mga opsyonal na dagdag

  • Ang pagpalit ng SSH port ay nakakabawas ng log noise, pero hindi ito security measure sa sarili nito.
  • Protektahan ang private key gamit ang passphrase, at magtago ng backup nito sa ligtas na lugar.
  • Suriin ang mga login gamit ang last at sudo journalctl -u ssh --since today.
  • Kumuha ng snapshot kapag na-configure na ang server, para may malinis na baseline na maibabalik.

Kung na-lock out ka, gamitin ang browser console sa cloud panel mo para mag-log in at ayusin ang configuration. Sakop ng aming gabay sa DDoS protection ang susunod na layer ng depensa.

Mga madalas itanong

Ligtas bang i-disable ang root login?

Oo, basta't muna kang gumawa ng sudo user at masubukan na gumagana ang key nito. Maaari ka pa ring magpatakbo ng administrative commands gamit ang sudo.

Kailangan ko ba ng Fail2ban kung key lang ang gamit ko?

Opsyonal ito. Kapag naka-disable ang password login, hindi magtatagumpay ang brute force, pero binabawasan pa rin ng Fail2ban ang log noise at load.

Paano kung mawala ko ang SSH key ko?

Gamitin ang console sa cloud panel mo para mag-log in, idagdag ang bagong public key sa ~/.ssh/authorized_keys, at alisin ang luma.

Mga sanggunian at karagdagang babasahin

Higit pang gabay sa VPS