SSH ile Kimlik Doğrulama Sırası


22

Ssh ile giriş -vyaptığımda ssh'ın şu şekilde kimlik doğrulaması yaptığını görüyorum

debug1: Authentications that can continue: publickey,gssapi-with-mic,password,hostbased

Sırayı değiştirmek istiyorum ... nasıl bir fikir?

Benim en büyük sorunum, kilitli hesapları olan kullanıcının yine de ortak anahtarlarla giriş yapabilmesi. Ben "ssh-kilitli" bir gruba kullanıcı sshing den reddetme eklemek için kullanıcı ekleyebilir buldum, ama yine de ssh'd söylemek için bir yol olup olmadığını merak ediyorum: Lütfen anahtarları önce şifre kontrol ...


1
Sanırım buna yanlış yaklaşıyorsunuz - anahtarlar (genellikle) şifrelerden daha güvenlidir. Hesap kilitliyse, sshd arka plan programına, kimlik doğrulama yönteminden bağımsız olarak kullanıcının oturum açmasına izin vermemesini söylemeniz gerekir.
EightBitTony

Dediğim gibi DenyGroups aracılığıyla bir çözüm buldum. Bunu ilgi uğruna istiyorum.
Oz123

Yanıtlar:


31

Ssh sunucusu hangi kimlik doğrulama seçeneklerine izin verdiğine karar verir, ssh istemcisi bunları hangi sırayla deneyeceğine karar verecek şekilde yapılandırılabilir.

Ssh istemcisi PreferredAuthenticationsbunu belirlemek için ssh config dosyasındaki seçeneği kullanır .

Gönderen man ssh_config( buradan çevrimiçi görün ):

PreferredAuthentications
             Specifies the order in which the client should try protocol 2 authentication methods.  This allows a client to prefer
             one method (e.g. keyboard-interactive) over another method (e.g. password).  The default is:

                   gssapi-with-mic,hostbased,publickey,
                   keyboard-interactive,password

Kaynakla oynamadan OpenSSH sunucusuna belirli bir siparişi tercih etmesini söylemenin mümkün olduğuna inanmıyorum - eğer düşünürseniz, bu zaten mantıklı değil.


Windows için Git Bash kullanıyorsanız, ssh yapılandırmanızı~/.ssh/config
Spencer Williams

Bir yöntem bir öncekine bağlıysa sipariş mantıklı olabilir. Örneğin, klavyeyle etkileşimli altındaki 2FA, ilk olarak geçerli bir parola sağlayan kullanıcıya bağlı olabilir.
steveayre

Yukarıdaki PreferredAuthentications bilgisini kopyaladığınız bir kaynak gönderebilir misiniz? Bunu içinde görmüyorum man sshne de, /etc/ssh/ssh_configne de içinde /etc/ssh/sshd_config. Bu bilgiye nereden ulaştın?
Gabriel Staples

Buldum! İçindeydi man ssh_config. Cevabınızı bu kaynağı içerecek şekilde güncellemek için inceleme için bir düzenleme gönderdim. Lütfen bir dahaki sefere kaynakları belirtin! Çok teşekkürler.
Gabriel Staples

18

Bu ekleniyor:

PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic

... bunu çözmeme /etc/ssh/ssh_configyardım etti ve çok zaman kazandı!

"Ayrıntılı" anlamına ssh -v user@hostgelen connect komutunu kullanarak çalışıp çalışmadığını kontrol edebilirsiniz -v.


2
Doğru dosyaya bu ekliyoruz emin olun ssh_configve değil sshd_config. İkincisi ssh'nizin başarısız olmasına neden olur!
Oranges13

0

PreferredAuthenticationsSeçeneği belirten diğer iki cevaba ekleyerek, istemiyorsanız bu ayarı yapmak için herhangi bir dosyayı düzenlemenize gerek olmadığını eklemek istiyorum . Aksine, sadece olabilir için tek çağrı için komut satırında ayarlayınssh ile, -oaşağıdaki gibi, seçenek:

ssh -o PreferredAuthentications=publickey,gssapi-with-mic,hostbased,keyboard-interactive,password user@hostname

Referanslar:

  1. PreferredAuthenticationsSeçenek hakkında daha fazla bilgi için , bkz. man ssh_config( Çevrimiçi olarak buradan görün ). Ayrıca manuel sayfalardaki ( çevrimiçi burada ) ssh -oseçenek hakkında da bilgi edinin .man ssh
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.