Sshd_config dosyasında 'şifre olmadan' ne anlama geliyor?


118

Sunucuma Ubuntu 14.04'ü yeni yükledim ve bu dosyama rastladığımda tüm config dosyalarımı kuruyordum sshd_config:

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Bu beni çok endişelendiriyordu. Birinin sunucumda şifresi olmadan root olarak giriş yapmasının mümkün olduğunu düşündüm.

Sunucuma root olarak bağlanmayı denedim:

johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:  

Boş bir şifre girdim ve girmeme izin vermedi, ki bu bir rahatlama oldu. Öyleyse sorum şu: şifre olmadan ne anlama geliyor ve bu neden Ubuntu 14.04'te bir varsayılandır?

Yanıtlar:


142

Gönderen man :

PermitRootLogin

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” tir.

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

Bu seçenek "sadece zorunlu komutlar" olarak ayarlanmışsa, genel anahtar kimlik doğrulaması ile kök girişine izin verilir, ancak yalnızca commandseçenek belirtilmişse (kök girişine normalde izin verilmese bile uzaktan yedekleme almak için yararlı olabilir) . Diğer tüm kimlik doğrulama yöntemleri kök için devre dışı bırakılmıştır.

Bu seçenek “hayır” olarak ayarlanmışsa, oturum açmasına izin verilmez

Böylece without-passwordroot girişi sadece genel anahtar kimlik doğrulaması ile yapılabilir. Bu genellikle kabuk betikleri ve otomatik görevlerde kullanılır.


2
Şifre kullanarak 'Root login'e izin vermemek izin vermekten daha güçlü bir güvenlik olarak kabul edilir . Bununla birlikte, başka hiçbir yöntem (sudo vb.) Çalışmazsa, hiçbir şekilde kökünden oturum açmamalısınız.
david6

5
Ancak, görebileceğiniz gibi, man sayfası varsayılanın "evet" olduğunu gösterirken, Ubuntu varsayılan "şifresiz" i yapmıştır.
ferroswheel

36
Yani without-passwordşifre hariç tüm yöntemlere izin verilir? "Parola gerekmeden giriş yapmanıza izin verildi" gibi görünüyor.
Gauthier

1
"Tüm kök erişimi, benzersiz ve tanımlanabilir bir kullanıcı kimliğine sahip yerel bir oturum açma yoluyla ve daha sonra yerel olarak kimliği doğrulanmış bir su komutu aracılığıyla kolaylaştırılmalıdır. Doğrudan kök girişi son derece güvensizdir ve hesap verebilirlik için denetim takibi konusunda çok az şey sunar." - CIS IBM AIX Guide
Dominik Antal

22
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
endolith,

16

Aslında, PAM kimlik doğrulaması kullanıyorsanız bu ayar hemen hemen hiçbir şey yapmaz. sshd_configYapılandırma dosyasının altında şunları bulacaksınız:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

Ubuntu’da varsayılan ayar PAM kimlik doğrulaması kullanmaktır:

UsePAM yes

1
Benim kısa deneyiminde , hatta bu ayarı noyapmaz PermitRootLogin without-passwordnasılsa, işe aslında! :(
cregox

1
@cregox Eğer tipik bir masaüstü sistemi kullanıyorsanız, yapmanız gereken ssh-copy-id -i ~/.ssh/id_rsa.pub user@ipve ~/.ssh/authorized_keysroot olarak giriş yapamazsanız, /root/.ssh/ içinde bu dosyayı oluşturamayacağınız, fakat kopyaladığınızda işe yaradığını düşünmeniz gerekir. orada dosya
Rutrus

3

Root ile giriş yapmak için meşru sebepler olduğunu unutmayın (fakat şifreleme anahtarları ve asla bir şifre kullanmayın). Tipik bir örnek, iki sunucuyu uzaktan senkronize etmektir (bunlardan birinin başarısız olarak kullanılması için). Yapının aynı olması gerektiğinden, genellikle bir root şifresi gerekir.

İşte senkronizasyon için bir birleştirme kullanarak bir örnek: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison


2
Normal bir kullanıcıyla giriş sudoyapmama (büyük olasılıkla kriptografik anahtarları kullanarak) ve gruba dahil olması bunu yapmanıza da izin veriyor mu?
NS du Toit

2

Sshd'nin yeni sürümlerinde "parola olmadan" "parola yasaklama" olarak değiştirildi.

Her iki sürümde de çalışır, eğer yapabilirseniz muhtemelen "yasak şifre" kullanmak en iyisidir: kendini daha iyi açıklar.

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.