Kökün ssh ile sadece anahtar tabanlı kimlik doğrulaması ile giriş yapmasına izin ver


49

Bazı ssh server yapılandırmaları hakkında bazı şüphelerim var /etc/ssh/sshd_config. Bir sonraki davranışı istiyorum:

  1. Genel anahtar kimlik doğrulaması, kök olarak kimlik doğrulamanın tek yoludur (parola doğrulaması ya da diğer değil)
  2. Normal kullanıcılar her ikisini de kullanabilir (şifre ve ortak anahtar kimlik doğrulaması)

Ayarladıysam PasswordAuthentication noilk nokta tatmin edicidir ancak ikinciden değil. PasswordAuthentication noSadece root için ayarlamanın bir yolu var mı?

Yanıtlar:


78

PermitRootLoginDirektifi kullanarak bunu yapabilirsiniz . Gönderen sshd_configman:

Kökün ssh (1) kullanarak giriş yapıp yapamayacağını belirtir. Argüman “evet”, “şifresiz”, “sadece zorunlu komutlar” veya “hayır” olmalıdır. Varsayılan "evet" dir.

Bu seçenek “şifresiz” olarak ayarlanmışsa, root için şifre doğrulama devre dışı bırakılır.

Aşağıdakiler istediğinizi başaracaktır:

PasswordAuthentication yes
PermitRootLogin without-password

1
Bunu Debian üzerinde denedim ve service ssh restartsunucuda doğruladım ve daha sonra istemcide anahtarım olmadan bağlanmayı denedim ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@hostve gerçekten de şifre ile giriş yapamadım, ancak root kullanıcısı için anahtar ile giriş yaptım .
bastian

Evet, ancak bunun yerine sadece yaparsanız, o zaman şifre ile giriş yapabilirsiniz: ssh -o PreferredAuthentications=password root@hostözellikle güvenli değil
imho

2
2019 yılında "PermitRootLogin yasaklama şifresi" dır, eski şifresiz kullanımdan kaldırılmış takma addır.
vbraun

10

MatchHer kullanıcı veya grup kimlik doğrulaması veya IP adresi veya bağlantının kökeninin ana bilgisayar adı başına bazı seçenekleri yapılandırmak için blokları kullanabilirsiniz .

PasswordAuthentication yes
PermitRootLogin yes

Match User root
PasswordAuthentication no

3
Bunu yaparken ssh sunucumdan beni kilitledim.
Richard Metzler,

Parola isteminin hiçbir zaman root için görünmesini istemiyorsanız, bu en iyi yöntem gibi görünüyor.
Leo

Bu da beni kilitledi. Sanırım yanlış sırada olabilir ...
Gary

3

Sunucumda, benim gibi paranoyak olanlar için ilginç olabilecek kök ayrıcalıklarını vermek için daha da kısıtlayıcı bir yaklaşımım var. Ne yaptığınıza ve hangi sırayla yaptığınıza dikkat edin, aksi takdirde root erişimini alamadığınız bir sistemle sonuçlanabilir.

  • sugroupÜyelerinin root olmalarına izin verilen ve sadece sshd_confid'in sonuna aşağıdaki satırları koyarak bu grup için anahtar kimlik doğrulamasına izin verecek belirli bir grup oluşturun :

Match Group sugroup

PasswordAuthentication no

  • Komutu auth required pam_wheel.so group=sugroupiçine yerleştirin /etc/pam.d/su. Zaten orada olabilir ve onu biraz rahatsız etmen gerekiyor. Bu, sugroup üyesi olmayan tüm kullanıcılara kök erişimini reddeder
  • Güçlü bir root şifresi seçin :)
  • Yeni kimlik doğrulama yönteminizin işe yarayıp yaramadığını kontrol edin ve yalnızca:
  • Kullanarak ssh ile doğrudan kök giriş Deny PermitRootLogin noiçinde /etc/ssh/sshd_config.

Bu konfigürasyonu kullanarak root olmak için bir anahtar kimlik doğrulaması ve bir şifre kullanmak gerekir. Sunucumu böyle yapılandırdım, çünkü kimlik doğrulama yönteminden bağımsız olarak ssh ile doğrudan kök erişimine sahip olmamayı tercih ediyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.