Anahtar kabul edilmesine rağmen SSH bağlantısı şifre ister


12

SSH anahtarım kabul edilmiş gibi görünsem bile parola girmem isteniyor. Anlayabildiğim kadarıyla, aşağıdaki günlüklerde "Sunucu anahtarı kabul ediyor: pkalg ssh-rsa blen 277" satırı anahtarımın kabul edildiği anlamına geliyor.

Hata ayıklama günlükleri şunlardır:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/sam/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp <<HASH REDACTED>>
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/sam/.ssh/id_dsa
debug1: Trying private key: /home/sam/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1

Çok takdir edilmesine yardımcı olun, SSH sorunları olan herkes bulduğum daha önceki bir noktada başarısız oluyor.

Yanıtlar:


11

Gizli anahtar kesinlikle edildi değil sadece çalışıldı, kabul etti. SSH anahtar tabanlı kimlik doğrulamasının başarısız olabileceği birkaç yol vardır ve günlük kaydı gerçekten bu kadar büyük değildir, bu nedenle bu özel sorunun hata ayıklaması kişisel evcil hayvan soymalarından biridir. Hatanın genellikle aşağıdaki durumlardan birinin sonucu olduğunu fark ettim .

  • Kişisel ~/.ssh/authorized_keysdosya çok açıktır. Kendi korumanız için sizi kendinizden korumaya sshdçalışır. Yetkili anahtar dosyanızdaki izinler kimlik doğrulamasında başarısız olur. Koş chmod -R go-rwx ~/.ssh.
  • Genel anahtarınız ~/.ssh/authorized_keysyanlış biçimlendirilmiş. Bu, herhangi bir sayıda sorunun bir sonucu olabilir, ancak en yaygın olanı bir kopyala yapıştırma sorunudur. Bazı terminaller, ekranlar arasında kopyalama / yapıştırma yaparken, satır sarmayı yeni bir satır olarak yorumlar. authorized_keysDosyadaki her giriş tek bir satır olmalıdır . Bunu, terminal emülatörünüzün boyutunu değiştirerek ve bir mola olup olmadığını görerek, çıktıyı orada olması gereken wc -l ~/.ssh/authorized_keysanahtar sayısıyla veya sizin için en uygun olanla karşılaştırarak kontrol edebilirsiniz. Her tuşun bir satır olduğundan emin olun ve iyi olmalısınız.

7

Yapıştırdığınız ssh -v çıktısı, anahtarı kullanmaya çalıştığını, ancak bunun işe yaramadığını, bu nedenle klavyeyle etkileşime geçtiğini öne sürdü.

Bağlandığınız sunucudaki kimlik doğrulama günlüğünü kontrol ettiniz mi? (örneğin, /var/log/auth.log). Uzak uçtaki kurulumunuz yanlışsa, örneğin yanlış izinler varsa, ssh -v (veya -vv veya -vvv) bunu söylemez, ancak sshd tarafından günlüğe kaydedilir.


/var/log/auth.log benim için cevabı verdi: "Kimlik doğrulaması reddedildi: dizin / kök için hatalı sahiplik veya modlar"
kevlar1818

5

Benim durumumda, dosya /var/log/authloggösterdi:

[ID 800047 auth.info] Authentication refused: bad ownership or modes for directory 

Ben doğru sahiplik / izinleri kontrol vardı .sshama $HOME777 izinleri vardı. İzin $HOMEverilen sftp'nin çalışmasına 755 izin ayarlama . Tekrar teşekkürler.


2

Sunucuya erişiminiz varsa (doğrudan veya başka bir oturum açma yoluyla), sistem günlüklerini kontrol edin (diyelim) /var/log/sshdveya /var/log/securesisteminize bağlı olarak

Bunun nedeni genellikle ~/.ssh/authorized_keysdosyanızdaki bir izin hatasıdır . Dünya tarafından okunabilir olmadığından, ancak sshd çalıştıran kullanıcı (bazen bir hizmet kullanıcısı) tarafından okunabildiğinden emin olun


1
Hangi sistem kullanılıyor /var/log/sshd? Tanıdığım sistemler ya /var/log/auth.logya /var/log/secure.
kasperd

1

~/.ssh/authorized_keysUzaktan kumandanın izinleri önemlidir ( 600sistemlerim RHEL ve Solaris için)

Uzaktaki ana dizininizin izinleri önemlidir ( 700sistemlerimde)

Sonunda sshduzak makinede başka bir bağlantı noktasındaki hata ayıklama modunda yardımcı olabilir:

sudo /usr/sbin/sshd -p 5555 -dd

5555örnek bir bağlantı noktasıdır, değiştirebilirsiniz. Bu konuda daha fazla bilgi için: http://ubuntuforums.org/archive/index.php/t-2219973.html


0

sshdHizmeti kullanırsam bir sorun olduğunu fark ettim . Bu sorunu önlemek için, sshdhizmeti durdurun service sshd stopve sonra sshddaemon'u komut isteminden başlatın sudo /usr/sbin/sshd.


0

Deneyin

/sbin/restorecon -r /root/.ssh

İzinlerin ayarlanmasında olası bir sorun.

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.