Linux VPS дээрх SSH-ийг хамгаалах арга

Зохиогч ONIE Инженерийн баг · Шинэчилсэн: November 12, 2026 · 2 мин унших

Нийтэд нээлттэй VPS нь онлайн болсноос хойш хэдхэн минутын дотор автомат нэвтрэх оролдлого хүлээн авдаг. Доорх алхмууд нь SSH-д халдахад хамаагүй хүндрүүлнэ. Эдгээр нь Ubuntu эсвэл Debian-д зориулагдсан; хэрэв сервер үүсгээгүй бол Linux VPS түрээслэх боломжтой бөгөөд цэвэр дүрсээс эхэлж болно. Шинэ тохиргоог өөр цонхноос туршиж дуустал одоогийн SSH сессээ нээлттэй байлгаарай.

1. Sudo эрхтэй энгийн хэрэглэгч үүсгэх

adduser deploy
usermod -aG sudo deploy

2. Нууц үгийн оронд SSH түлхүүр ашиглах

Өөрийн компьютер дээр:

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

Нууц үгийг унтраахаасаа өмнө түлхүүрээр нэг удаа нэвтэрч ажиллаж байгааг шалга.

3. Нууц үг болон root нэвтрэлтийг унтраах

/etc/ssh/sshd_config.d/99-hardening.conf файлыг үүсгэ:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Синтаксийг шалгаад үйлчилгээг дахин ачаалах. Үйлчилгээний нэр Ubuntu болон Debian дээр ssh, RHEL-д суурилсан системд sshd байна:

sudo sshd -t && sudo systemctl reload ssh

Хоёр дахь терминал нээгээд дахин нэвтэр. Зөвхөн тэгсний дараа хуучин сессээ хаа.

4. Галт хана идэвхжүүлэх

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

Зөвхөн хэрэгтэй портуудыг нээ, жишээ нь веб сервер бол 80 ба 443. Мөн үүлэн удирдлагын консол дээрх галт ханын дүрмээр SSH-г өөрийн IP хаягаар хязгаарлаж болно.

5. Fail2ban-аар давтагдсан алдааг хаах

sudo apt install -y fail2ban

/etc/fail2ban/jail.local файлыг үүсгэ:

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

6. Аюулгүй байдлын шинэчлэлтийг автоматаар суулгах

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

7. Нэмэлт сонголтууд

  • SSH портыг солих нь логийн шуугианыг бууруулдаг боловч өөрөө аюулгүй байдлын арга хэмжээ биш.
  • Хувийн түлхүүрийг нууц үгээр хамгаалж, нөөц хуулбарыг аюулгүй газар хадгал.
  • last болон sudo journalctl -u ssh --since today командаар нэвтрэлтийг шалга.
  • Сервер тохируулж дууссаны дараа snapshot хийж, цэвэр суурь төлөвөө сэргээх боломжтой болго.

Хэрэв түгжигдсэн бол үүлэн самбарын хөтчийн консолоор нэвтэрч тохиргоогоо засна. Дараагийн түвшний хамгаалалтыг DDoS-оос хамгаалах гарын авлага тайлбарлана.

Түгээмэл асуултууд

Root нэвтрэлтийг унтраахад аюулгүй юу?

Тийм, хэрэв эхлээд sudo хэрэглэгч үүсгээд түүний түлхүүр ажиллаж байгааг шалгасан бол. Та sudo-ээр удирдлагын командуудыг ажиллуулсаар байна.

Зөвхөн түлхүүр ашигладаг бол Fail2ban хэрэгтэй юу?

Заавал биш. Нууц үгээр нэвтрэлтийг унтраасан үед бүдүүн хүчээр оролдлого амжилтгүй болох боловч Fail2ban логийн шуугиан болон ачааллыг багасгана.

SSH түлхүүрээ алдвал яах вэ?

Үүлэн самбарын консолоор нэвтэрч, шинэ нийтийн түлхүүрийг ~/.ssh/authorized_keys руу нэмж, хуучныг нь устга.

Эх сурвалж ба цаашдын унших материал

Бусад VPS гарын авлагууд