Belirli kullanıcılar için SSH ortak anahtar kimlik doğrulamasını zorla


10

Belirli kullanıcıları ortak anahtarla oturum açmaya zorlarken, diğer kullanıcıların parola ile oturum açmasına izin vermek mümkün müdür? Ortak anahtar kimlik doğrulaması (parola ile) yalnızca parola kimlik doğrulamasından daha güçlü olduğu için sudo kullanıcılarının ortak anahtarla oturum açmasını zorunlu kılmak istiyoruz. Bununla birlikte, normal kullanıcıları bunu yapmaya zorlamak daha az uygundur. İçinde sshd_config, politika ile ilgili herhangi bir yapılandırma görmüyorum.

Yanıtlar:


11

Birkaç seçeneğiniz var. Bu cevapta sudoerstanımlanmış bir grubunuz olduğunu varsayacağım .

Kılavuz sayfasına bir göz atın sshd_configve Matchyönergeyi arayın . Bu, yalnızca ssh bağlantılarınızın bir alt kümesine uygulanan yapılandırma bloklarını belirlemenizi sağlar. Böyle bir şey yapabilirsiniz:

Match Group sudoers
PasswordAuthentication no
ChallengeResponseAuthentication no

Teorik olarak, PAM yapılandırmasına benzer bir şeyi, sudoersgruptaki kişilerin kimlik doğrulama girişimlerini başarısızlıkla sonuçlandırabilirsiniz . Bu muhtemelen pam_succeed_if modülünü içerecektir ... authsshd için yapılandırmanıza böyle bir şey ekleyebilirsiniz :

auth        requisite     pam_succeed_if.so user notingroup sudoers quiet

Bu, yalnızca sudoersgrupta olmayan kişilerin PAM üzerinden kimlik doğrulaması yapabileceği anlamına gelir . Bunun test edilmediğini unutmayın. Benzer bir şey yapmak için pam_listfile modülünü de kullanabilirsiniz .


1
Teşekkürler! Ayrıca, Match yönergesinin OpenSSH 5.0'da tanıtıldığını da not etmeliyim. CentOS gibi konservatif dağılımlar için yerel olarak mevcut olmayabilir.
Crend King

Bu OpenSSH 7.7p1 'yi kırar - ChallengeResponseAuthentication yönergesini yeniden başlatmak için kaldırmak zorunda kaldım.
rbsec

3

Başka bir olası cevap, @ larks olarak, benim sürümüm için işe yaramadı, ssh_dçünkü benim sürümüm burada bulunan belgeleri kullanıyor gibi görünüyor :

Bir Eşleme anahtar kelimesini izleyen satırlarda yalnızca bir anahtar kelime alt kümesi kullanılabilir. Kullanılabilir anahtar kelimeler. . .

Konusu anahtar kelime listesinin içermez: ChallengeResponseAuthentication.

Bulduğum gerçekten eğlenceli bir yol AuthenticationMethods, davanızdaki gibi çalışacaktı:

Match Group sudoers
AuthenticationMethods 'publickey'

AuthenticationMethods kullanıcının sunucuya erişmeden önce geçmesi gereken bir dizi yöntemi temsil eden virgülle ayrılmış değerlerin bir listesini alır.

AuthenticationMethods 'publickey,password' kullanıcıyı ortak bir anahtarla ve ardından bir şifre ile geçmeye zorlar.

Daha fazla okumak için man sshd_config.

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.