Linux VPS'te SSH nasıl güvenli hale getirilir

Yazan: ONIE Mühendislik Ekibi · 12 Kasım 2026 tarihinde güncellendi · 2 dakikalık okuma

Herkese açık bir VPS, internete bağlandığı andan itibaren dakikalar içinde otomatik oturum açma denemelerine maruz kalır. Bu adımlar SSH'ye yapılan saldırıları çok daha zor hale getirir. Ubuntu veya Debian için yazılmıştır. Henüz bir sunucu oluşturmadıysanız bir Linux VPS kiralayabilir ve temiz bir imajla başlayabilirsiniz. Yeni ayarları ikinci bir pencereden test edene kadar mevcut SSH oturumunuzu açık tutun.

1. Sudo yetkisine sahip normal bir kullanıcı oluşturun

adduser deploy
usermod -aG sudo deploy

2. Parola yerine SSH anahtarları kullanın

Kendi bilgisayarınızda:

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

Parolaları kapatmadan önce anahtarla bir kez oturum açarak çalıştığını doğrulayın.

3. Parola ve root girişini kapatın

/etc/ssh/sshd_config.d/99-hardening.conf dosyasını oluşturun:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Sözdizimini kontrol edin ve servisi yeniden yükleyin. Servis adı Ubuntu ve Debian'da ssh, RHEL tabanlı sistemlerde sshd olarak geçer:

sudo sshd -t && sudo systemctl reload ssh

İkinci bir terminal açıp yeniden oturum açın. Ancak bundan sonra eski oturumu kapatın.

4. Güvenlik duvarını etkinleştirin

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

Yalnızca ihtiyacınız olan portları açın; örneğin web sunucusu için 80 ve 443. Bulut panelindeki bir güvenlik duvarı kuralıyla SSH erişimini kendi IP adresinize de sınırlayabilirsiniz.

5. Tekrarlayan hatalı denemeleri Fail2ban ile engelleyin

sudo apt install -y fail2ban

/etc/fail2ban/jail.local dosyasını oluşturun:

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

6. Güvenlik güncellemelerini otomatik yükleyin

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

7. İsteğe bağlı ek önlemler

  • SSH portunu değiştirmek log gürültüsünü azaltır ancak tek başına bir güvenlik önlemi değildir.
  • Özel anahtarı bir parola ile koruyun ve güvenli bir yerde yedeğini saklayın.
  • last ve sudo journalctl -u ssh --since today komutlarıyla oturum açmaları inceleyin.
  • Sunucu yapılandırıldıktan sonra temiz bir başlangıç noktasını geri yükleyebilmek için bir anlık görüntü alın.

Kilitlenirseniz bulut panelinizdeki tarayıcı konsolunu kullanarak oturum açın ve yapılandırmayı düzeltin. Bir sonraki koruma katmanı için DDoS koruma rehberimize bakabilirsiniz.

Sık sorulan sorular

Root girişini kapatmak güvenli mi?

Evet, önce bir sudo kullanıcısı oluşturup anahtarının çalıştığını test ettiyseniz. Yönetici komutlarını yine sudo ile çalıştırabilirsiniz.

Yalnızca anahtar kullanıyorsam Fail2ban'e ihtiyacım var mı?

İsteğe bağlıdır. Parola ile oturum açma kapalıyken kaba kuvvet saldırısı başarılı olamaz, ancak Fail2ban log gürültüsünü ve yükü azaltır.

SSH anahtarımı kaybedersem ne olur?

Bulut panelinizdeki konsolu kullanarak oturum açın, yeni bir genel anahtarı ~/.ssh/authorized_keys dosyasına ekleyin ve eskisini kaldırın.

Kaynaklar ve ileri okuma

Daha fazla VPS rehberi