ssh artık ortak anahtar kimlik doğrulamasına izin vermiyor

22

Makinem yakın zamanda gelen ortak anahtar kimlik doğrulamasını kabul etmeyi durdurdu. Windows makinemden gelen bir 11.14 masaüstü bilgisayarım var. Putty'yi pageant ile kullanırım. Yalnızca etkileşimli parola kimlik doğrulaması ile bağlanabiliyorum, kurulumumdaki anahtarımla değil.

Anahtarın ~ / .ssh / authorized_keys içinde listelendiğini zaten doğruladım. Bunu nasıl düzeltirim ve ne kontrol ederim?

    
sordu Andrew Redd 19.10.2011 21:27

9 cevap

28

Ortak anahtar kimlik doğrulaması çalışmazsa: sunucu tarafında, giriş dizininizin ( ~ ), ~/.ssh dizininin ve ~/.ssh/authorized_keys dosyasının yazılabilir olduğundan emin olun yalnızca Sahipleri . Özellikle, bunların hiçbiri grup tarafından yazılabilir olmamalıdır (kullanıcı grupta yalnız olsa bile). chmod 755 veya chmod 700 tamam, chmod 770 değil.

Bir şeylerin yanlış olup olmadığını kontrol etmek için:

  • Çok fazla hata ayıklama çıktısı görmek için ssh -vvv çalıştırın. Neden ssh ile bağlantı kuramadığınızı soran bir soru gönderirseniz, bu çıkışı ekleyin (ana makine ve kullanıcı adlarını anonimleştirmek isteyebilirsiniz).
  • Yapabiliyorsanız, sunucu günlüklerini /var/log/auth.log 'de kontrol edin.
  • Ortak anahtar kimlik doğrulaması çalışmıyorsa, izinleri tekrar kontrol edin, özellikle de grup biti (yukarıya bakın).
verilen cevap Gilles 20.10.2011 20:00
9

Aynı şeye rastladım ve sonunda bunun ev dizinimi şifrelediğim için olduğunu anladım. SSH, oturum açana kadar yetkisiz_keys dosyasını okuyamaz, bu nedenle temel olarak sizi önce parola doğrulamanızı zorlar. Aşağıdaki bağlantıda şifrelenmiş giriş dizini ile ilgili bölüme bakın:

İşte

    
verilen cevap Willie Wheeler 11.07.2012 08:48
5

/ etc / ssh / sshd_config dosyasındaki ayarlarınızın doğru olduğundan emin olabilirsiniz.

Yalnızca PKI’yı kullanmaya zorlamak ve şifrelere izin vermemek için satırı bul

#PasswordAuthentication yes 

Dosyanızda uncomment ve

olarak ayarlayın
PasswordAuthenticate no

Ayrıca, mantıklı olduklarından emin olmak için ayarların dengesini de okuyacağım. Özellikle, DSA'nın tehlikede olduğunu bildiği için RSA anahtarlarını kullandığınızdan emin olun.

    
verilen cevap cmdematos 19.10.2011 22:00
3

Dizinlerdeki izinleri kontrol ederseniz ve bir "." Onlardan hemen sonra, selinux etkinleştirilmiş olabilirsiniz, bu da anahtar değişimi ile uğraşacak ve varsayılan olarak manuel şifre tanımlamaya tabi olacaktır.

Buradaki talimatları izleyerek sorun gidermek için SELinux'u devre dışı bırakabilirsiniz: İşte , ya da / etc / selinux / config dosyasını düzenleyin ve bunu" zorlama "dan" devre dışı "olarak değiştirin.

Bunun yardımcı olacağını umuyorum.

    
verilen cevap tweekd 30.07.2012 00:28
2

/ etc / ssh / sshd_config dosyasındaki "PasswordAuthentication yes" ifadesini yorumsuz olarak çözdüm.

    
verilen cevap Ben Ernest 10.12.2013 07:08
1

İki farklı makine arasındaki iletişim sorunlarını çözme gereği nedeniyle, istemci tarafında ~/.ssh oranında iki özel anahtar vardı.

Her bir sunucu ana bilgisayarını, yapmam gereken şekilde ~/.ssh/identity cinsinden ilgili özel anahtarla yapılandırmak yerine, tüm ana bilgisayarlar için yapılandırılmış ikincil (ve bu durumda yanlış) anahtarın vardı:

Host *
IdentityFile ~/.ssh/identity_b

~/.ssh/identity düzeltmesi sorunu çözdü:

Host a
IdentityFile ~/.ssh/identity_a
Host b
IdentityFile ~/.ssh/identity_b
    
verilen cevap Uli Klumpp 24.04.2014 03:33
1

Sorunun olası bir nedeni, DSA anahtarlarına sahip olmanız, ancak artık SSH (görünüşte) varsayılan olarak RSA anahtarlarını gerektirmesidir. 16.04'e yükselirken problemim var. Daha fazla burada görebilirsiniz. Ancak kısa cevap aşağıdakileri ekleyebilir: % co_de:%

PubkeyAcceptedKeyTypes ssh-dss
    
verilen cevap DeegC 25.05.2016 18:34
0

Sadece aynı sorunu yaşadım, ancak chmod ile izinleri değiştirmemize yardımcı olmadı çünkü ~/.ssh/authorized_keys dosyasının sahipliğine sahip değildim. % Co_de% dizininin sahipliğini şu şekilde değiştirebilirsiniz:

sudo chown -R "$USER" ~/.ssh
    
verilen cevap Nick 23.09.2017 08:30
-1

Her nasılsa bu benim için çalıştı:

root @ kaiser: ~ # vim / etc / ssh / sshd_config

Bu satırı evet’ten hayır olarak değiştirin  28 StrictModes no

Tekrar deneyin

sistem yöneticisi @ suselinux1: parafin alıcı çözücü, con sysadmin kaiser Ubuntu 12.04.1 LTS'ye (GNU / Linux 3.2.0-25-jenerik i686) hoş geldiniz

Son giriş: Cuma 09 Kas 15:40:11 2012 den 10.1.3.25 sysadmin @ kaiser: ~ $ tarih vie nov 9 17:53:11 CST 2012 sysadmin @ kaiser: ~ $

    
verilen cevap theunbekanntshadow 10.11.2012 01:06

Etiketlerdeki diğer soruları oku