Son gözden geçirme: Ekim 2026 · Ubuntu 24.04 OpenSSH sunucu belgesi ve sshd_config kılavuz sayfasına göre
Hızlı çözüm
PermitRootLogin no Ubuntu sunucularda root hesabıyla SSH girişini tamamen kapatır; yönetim sudo yetkili ayrı bir kullanıcıyla yapılır. Sıra önemlidir, yoksa sunucuya erişiminizi kaybedersiniz:
sudo‘nun çalıştığını doğrulayın./etc/ssh/sshd_config.d/ altında PermitRootLogin no satırı olan bir dosya oluşturun.sudo sshd -t ile denetleyip sudo systemctl restart ssh.service ile uygulayın.| Panel | SSH (komut satırı) |
|---|---|
| Sistem | Ubuntu 24.04 ve 22.04 (OpenSSH sunucusu) |
| Yetki | root |
| Narhost ürünü | VPS Sunucu, VDS Sunucu |
Başlamadan önce
İnternete açık her sunucuya, en çok root kullanıcı adı denenerek sürekli parola tahmin denemeleri yapılır. Root girişini kapatmak, saldırganın hem kullanıcı adını hem parolayı bilmesini zorunlu kılar ve her yönetim işleminin kimin tarafından yapıldığını kayıtlara düşürür.
Ubuntu’nun sshd_config kılavuz sayfasına göre PermitRootLogin değerinin varsayılanı prohibit-password‘dür: root parolayla giremez ama anahtarla girebilir. no değeri anahtarla girişi de kapatır. Kılavuz bir kuralı daha belirtir: aynı ayar birden fazla yerde yazılıysa okunan ilk değer geçerlidir. Ubuntu’da /etc/ssh/sshd_config dosyası en başta sshd_config.d klasöründeki dosyaları okur; bu yüzden ayarı o klasöre yazmak doğru yöntemdir.

adduser yonetici
usermod -aG sudo yonetici
Beklenen sonuç: adduser parola ve isteğe bağlı bilgileri sorar; ikinci komut çıktı vermez.
rsync --archive --chown=yonetici:yonetici ~/.ssh /home/yonetici
ssh [email protected] ile bağlanın ve sudo whoami çalıştırın.
Beklenen sonuç: parolanız sorulur ve çıktı root olur. Bu adım başarılı olmadan devam etmeyin.
echo "PermitRootLogin no" > /etc/ssh/sshd_config.d/00-root-kapali.conf
Dosya adının 00- ile başlaması, klasördeki diğer dosyalardan önce okunmasını ve değerin geçerli olmasını sağlar.
sshd -t
systemctl restart ssh.service
Beklenen sonuç: sshd -t hata yoksa çıktı vermez. Yeniden başlatma açık oturumları kesmez. Komutlar Ubuntu OpenSSH sunucu belgesinde anlatılır.
Dikkat
Yeni kullanıcıyla girişi ve sudo‘yu denemeden root girişini kapatmayın. Root oturumunu da yeni kullanıcıyla bağlantıyı doğrulayana kadar açık tutun; bir sorun çıkarsa ayar dosyasını silip hizmeti yeniden başlatarak eski duruma dönersiniz.
Sonuç
sudo sshd -T | grep -i permitrootlogin komutu permitrootlogin no gösteriyor, yeni bir terminalden ssh [email protected] denemesi “Permission denied” ile reddediliyor ve yonetici kullanıcısıyla giriş çalışıyorsa ayar tamamdır.
sshd_config.d içindeki başka bir dosya aynı ayarı daha önce tanımlıyordur; grep -ri permitrootlogin /etc/ssh/ ile bulun ve dosya adınızın önce okunduğundan emin olun.Narhost desteği
VPS ve VDS sunucular yönetimsizdir; sunucu içindeki SSH ayarları sizin sorumluluğunuzdadır. Erişiminizi kaybettiyseniz ve konsola da giremiyorsanız talebe sunucu adını ve yaptığınız son değişikliği ekleyin.
Sonraki adımlar
prohibit-password root’un parolayla girişini kapatır ama SSH anahtarıyla girişe izin verir; OpenSSH’nin varsayılanıdır. no root girişini her yöntemle kapatır. Yönetimi ayrı bir kullanıcıyla yapıyorsanız no daha sıkı bir ayardır.
Sudo grubundaki kullanıcıyla girip komutların başına sudo yazarsınız. Uzun işlemlerde sudo -i ile root kabuğuna geçebilirsiniz; bu, SSH üzerinden doğrudan root girişinden farklıdır ve kayıt bırakır.
Tarayıcı terminali gibi konsol erişimiyle girin, /etc/ssh/sshd_config.d/00-root-kapali.conf dosyasını silin ve systemctl restart ssh.service çalıştırın. Ardından yeni kullanıcının anahtarını ve sudo yetkisini düzeltip ayarı yeniden uygulayın.
Bu makale sorununuzu çözdü mü?
Geri bildiriminiz için teşekkürler.
Çözemediniz mi?
Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.