Kullanıcı başına parola tabanlı SSH erişimini kısıtlayın, ancak anahtar kimlik doğrulamasına izin verin


21

Kullanıcıya ŞİFRE SSH erişimini devre dışı bırakmak ancak Kullanıcı başına anahtar kimlik doğrulamasına izin vermek mümkün müdür? Yani, Parola tabanlı erişim vermek istemediğim bir kullanıcım var AMA sunucuya erişmek için yalnızca anahtar kimlik doğrulamasını kullanmasını istemiyorum. Teşekkürler


Yanıtlar:


49

Sshd_config'in altındaki belirli kullanıcılarla veya gruplarla eşleşecek şekilde "Eşleştir" bölümleri ekleyebilirsiniz, örneğin:

Match user stew
PasswordAuthentication no

veya

Match group dumbusers
PasswordAuthentication no

9
Sadece girintili çizgilerin Matchgerçekte iken etkilendiğini , tüm düzenlemenin bir sonraki Matchyönergeye kadar etkilendiğini öne sürdüğü için girintiden kaçınırdım . Sözdizimine aşina olmayan biriyle kafa karıştırıcı olabilir.
Michael Mior

2
@MichaelMior "EndMatch" için bir yol var mı?
Nick T,

4
@NickT bir Matchsonraki Matchveya Hostanahtar kelimeye kadar çalışır . Sadece kullanabilirsin Match user *.
Michael Mior

@MichaelMior Bu Match user ZaQwEdCxS, kullanırsanız , hiç kimse tarafından geçici veya kalıcı olarak kullanılabilen bir dizi yapılandırma satırı oluşturabileceğiniz anlamına mı geliyor ?
Tripp Kinetics

Bu, bundan sonraki tüm yapılandırma satırlarının yalnızca adlandırılmış kullanıcılar için geçerli olacağı anlamına gelir ZaQwEdCxS. Yine de farklı bir sorunuz varsa, yeni bir soru sormalısınız.
Michael Mior

4

Sadece şifrelerle giriş yapmak istemediğiniz kullanıcıların şifrelerini kilitleyin:

usermod -L <user>

Ardından, .ssh/authorized_keysdosyalarına geçerli bir genel anahtar yerleştirin ; yalnızca ilgili özel anahtarla giriş yapabilirler, ancak bir şifre ile giriş yapamazlar.

Not: Kullanıcı NOPASSWD'ye sahip değilse: visudo girişinde bu sudo bozacaktır.


8
Bu da sudo kıracak. Belki bu durumda bir sorun değil, ama söz konusu ayılar.
AÇAA

Evet bu doğru. Bahsetmeliydim.
Oliver

1
Bazı OpenSSH kurulumları (örn i varsayılan yapılandırmasında Ubuntu 14.04 düşünüyorum), içinde bile authorized_key'lerine yoluyla kilitli kullanıcıları izin vermeyin
Nils Toedtmann

@NilsToedtmann doğrulama için bir kaynak verebilir misiniz? Eğer öyleyse, cevabı da not etmek çok önemli olacaktır.
Metagraf

-3

içine bakmalısın

/etc/ssh/sshd_config

Bence aradığın şey

PasswordAuthentication yes

hayır olarak değiştirin ve sshd'yi yeniden başlatmayı unutmayın


2
Bunun farkındayım - bu bir GLOBAL ayarları olsa da - daha ayrıntılı bir seçenek istiyorum - bu yüzden "kullanıcı bazında" dedim - bunu sadece bazı kullanıcılar için istiyorum (kümedeki sunucular arasında iç küme iletişimi için kullanılır) - tüm kullanıcılar için değil
gyre

oh doğru, üzgünüm doğru okumadım üzgünüm sonra ne @ stew önerilen gitmek için bir yoludur
alexus
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.