Ubuntu 24.04’te SSH ile Root Girişi Nasıl Kapatılır

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:

  1. Sudo yetkili yeni bir kullanıcı oluşturun ve SSH anahtarınızı ona kopyalayın.
  2. Yeni kullanıcıyla ikinci bir oturumda girip sudo‘nun çalıştığını doğrulayın.
  3. /etc/ssh/sshd_config.d/ altında PermitRootLogin no satırı olan bir dosya oluşturun.
  4. 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

  • Root olarak açık bir SSH oturumunuz olsun ve işlem bitene kadar kapatmayın.
  • Sunucuya konsol (tarayıcı terminali) erişiminizin çalıştığını bilin; bir hata olursa oradan düzeltirsiniz.
  • Bilgisayarınızda bir SSH anahtar çifti hazır olsun.

PermitRootLogin no Ubuntu sunucuda ne sağlar

İ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.

permitrootlogin no ubuntu uygulama şeması — sudo kullanıcısı, anahtar, ikinci oturum ve ayar dosyası
Yeni kullanıcıyla giriş doğrulanmadan root girişi kapatılmaz.

Adım adım root girişini kapatma

  1. Sudo yetkili kullanıcı oluşturun.
    adduser yonetici
    usermod -aG sudo yonetici

    Beklenen sonuç: adduser parola ve isteğe bağlı bilgileri sorar; ikinci komut çıktı vermez.

  2. Anahtarınızı yeni kullanıcıya kopyalayın. Root’un yetkili anahtarlarını yeni kullanıcıya taşıyın:
    rsync --archive --chown=yonetici:yonetici ~/.ssh /home/yonetici
  3. İkinci oturumda deneyin. Bilgisayarınızda yeni bir terminal açıp 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.

  4. Ayar dosyasını oluşturun. Root oturumunda:
    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.

  5. Denetleyip uygulayın.
    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.

Doğrulama

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.

Hâlâ çözülmediyse

  • Ayar etkisiz görünüyor.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.
  • Yeni kullanıcıyla anahtar reddediliyor. Klasör izinleri yanlıştır; çözüm SSH Permission denied (publickey) hatası kartında.
  • Kullanıcı ve sudo ayarı. Kullanıcı yönetiminin ayrıntıları Linux’ta kullanıcı ekleme ve sudo yetkisi kartında.

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.

Destek talebi aç

Sıkça sorulan sorular

PermitRootLogin no ile prohibit-password arasındaki fark ne?

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.

Root girişi kapalıyken root yetkisi gereken işleri nasıl yaparım?

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.

Ayarı yaptıktan sonra sunucuya giremiyorum, ne yapmalıyım?

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ü?

Çö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.

İlgili çözümler