როგორ დავიცვათ SSH Linux VPS-ზე

ავტორი 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. ჩართეთ firewall

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

გახსენით მხოლოდ საჭირო პორტები, მაგალითად 80 და 443 veb-სერვერისთვის. SSH-ის შეზღუდვა მხოლოდ თქვენი IP მისამართით ასევე შესაძლებელია cloud კონსოლში firewall წესით.

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 ბრძანებით.
  • სერვერის კონფიგურაციის დასრულების შემდეგ გააკეთეთ სნეპშოტი, რომ სუფთა საწყისი მდგომარეობა აღდგეს.

თუ სერვერთან წვდომა დაიკარგა, cloud პანელის ბრაუზერის კონსოლით შედით და გაასწორეთ კონფიგურაცია. შემდეგი დონის დაცვაზე იხილეთ ჩვენი DDoS დაცვის გზამკვლევი.

ხშირად დასმული კითხვები

უსაფრთხოა root შესვლის გამორთვა?

დიახ, თუ ჯერ შექმნით sudo მომხმარებელს და შეამოწმებთ მისი გასაღების მუშაობას. ადმინისტრაციული ბრძანებების გაშვება შესაძლებელია sudo-თი.

მჭირდება Fail2ban, თუ მხოლოდ გასაღებებს ვიყენებ?

არასავალდებულოა. პაროლით შესვლის გამორთვის შემდეგ brute force თავდასხმა ვერ გაიწევს წარმატებას, მაგრამ Fail2ban ამცირებს ლოგების ხმაურსა და დატვირთვას.

რა ვქნა, თუ SSH გასაღები დავკარგე?

cloud პანელის კონსოლით შედით, დაამატეთ ახალი საჯარო გასაღები ~/.ssh/authorized_keys ფაილში და წაშალეთ ძველი.

წყაროები და დამატებითი მასალა

სხვა VPS-ის გზამკვლევები