Jinsi ya kulinda SSH kwenye Linux VPS

Na Timu ya Uhandisi ya ONIE · Imesasishwa 12 Novemba 2026 · Dakika 2 za kusoma

VPS ya umma hupokea majaribio ya kuingia ya kiotomatiki ndani ya dakika chache tangu inapowashwa. Hatua hizi hufanya SSH kuwa ngumu zaidi kushambuliwa. Zimeandikwa kwa Ubuntu au Debian. Ikiwa bado hujaunda seva, unaweza kodisha VPS ya Linux na kuanza kutoka kwenye picha safi. Weka kipindi chako cha sasa cha SSH wazi hadi uwe umejaribu mipangilio mipya kutoka dirisha la pili.

1. Tengeneza mtumiaji wa kawaida mwenye sudo

adduser deploy
usermod -aG sudo deploy

2. Tumia funguo za SSH badala ya nenosiri

Kwenye kompyuta yako:

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

Ingia mara moja kwa kutumia ufunguo ili kuthibitisha kuwa unafanya kazi kabla ya kuzima nenosiri.

3. Zima kuingia kwa nenosiri na kwa root

Tengeneza /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Kagua sintaksia kisha uanzishe upya huduma. Huduma inaitwa ssh kwenye Ubuntu na Debian, na sshd kwenye mifumo ya RHEL:

sudo sshd -t && sudo systemctl reload ssh

Fungua terminal ya pili na uingie tena. Ndipo ufunge kipindi cha zamani.

4. Washa firewall

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

Fungua bandari unazohitaji tu, kama 80 na 443 kwa seva ya wavuti. Unaweza pia kuzuia SSH iruhusiwe kutoka anwani yako ya IP pekee kwa kutumia kanuni ya firewall kwenye paneli ya wingu.

5. Zuia majaribio yanayorudiwa kwa Fail2ban

sudo apt install -y fail2ban

Tengeneza /etc/fail2ban/jail.local:

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

6. Sakinisha masasisho ya usalama kiotomatiki

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

7. Hatua za ziada za hiari

  • Kubadilisha bandari ya SSH hupunguza kelele kwenye kumbukumbu, lakini si hatua ya usalama peke yake.
  • Linda ufunguo binafsi kwa nenosiri la kupita (passphrase) na weka nakala salama mahali pa usalama.
  • Kagua waliongia kwa kutumia last na sudo journalctl -u ssh --since today.
  • Chukua snapshot mara seva inapokamilika kusanidiwa, ili uweze kurejesha hali safi ya msingi.

Ukifungiwa nje, tumia kiweko cha kivinjari kwenye paneli yako ya wingu kuingia na kurekebisha mipangilio. Mwongozo wa ulinzi dhidi ya DDoS unaeleza safu inayofuata ya ulinzi.

Maswali yanayoulizwa mara kwa mara

Je, ni salama kuzima kuingia kwa root?

Ndiyo, ikiwa kwanza umetengeneza mtumiaji wa sudo na kuthibitisha kuwa ufunguo wake unafanya kazi. Bado unaweza kutekeleza amri za usimamizi kwa sudo.

Je, ninahitaji Fail2ban nikitumia funguo pekee?

Si lazima. Kwa kuwa kuingia kwa nenosiri kumezimwa, mashambulizi ya kubahatisha nenosiri hayawezi kufanikiwa, lakini Fail2ban hupunguza kelele kwenye kumbukumbu na mzigo kwenye seva.

Nikipoteza ufunguo wangu wa SSH nifanye nini?

Tumia kiweko kwenye paneli yako ya wingu kuingia, ongeza ufunguo mpya wa umma kwenye ~/.ssh/authorized_keys, kisha ondoa ule wa zamani.

Vyanzo na usomaji zaidi

Miongozo zaidi ya VPS