SSH döndürür: eşleşen bir ana bilgisayar anahtarı türü bulunamadı. Teklifleri: ssh-dss


81

Bir Windows kutusunda veya istemcinin herhangi bir yapılandırması olmadan SSH'ye NASH'ye bir OSX komut satırı terminalinde Putty kullanmaya alışkınım.

Ubuntu 16.04, NAS'a SSH (LAN yoluyla) göndermeye çalışır:

ssh root@192.168.8.109

Unable to negotiate with 192.168.8.109 port 22: no matching host key type found. Their offer: ssh-dss
  1. Bu sonuç / cevap kasıtlı mı?
  2. SSH’nin NAS’a erişimini sağlayan basit bir düzeltme var mı?

.pemWindows makinenizde SSH özel anahtar ( ) dosyanız yoktu, değil mi?
Android Dev

Windows kutusunda hiçbir .pem dosyası yok
gatorback

1
NAS'ınız Western Digital EX serisi olmazdı, değil mi? :)
Adam Plocher

Bu bir MyCloud cihazı: bir şekilde netleşeceğini umuyorum
gatorback 19

Yanıtlar:


139

16.04'te bulunan OpenSSH sürümü ssh-dss'yi devre dışı bırakır. Bu sorunu içeren eski bilgileri içeren düzgün bir sayfa var: http://www.openssh.com/legacy.html

Kısaca, seçeneği -oHostKeyAlgorithms=+ssh-dssSSH komutuna eklemelisiniz :

ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.8.109

Ayrıca, ana makinenize bir kalıp ekleyebilirsiniz, ~/.ssh/configböylece her seferinde anahtar algoritmayı belirtmeniz gerekmez:

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

Bu, IP adresini yazmanıza gerek olmayan ek bir avantaja sahiptir. Bunun yerine, sshana bilgisayarı tanıyacak nasve nereye bağlanılacağını bilecektir. Elbette yerine başka bir isim kullanabilirsiniz.


Bunların Ubuntu tarafındaki çözümler olduğuna inanıyorum. NAS tarafında basit bir seçenek var mı? Tüm seçenekleri anlamak ve güvenlik zayıflıklarını sertleştirme fırsatını değerlendirmek iyi olur. Belki bu başka bir konu için başka bir soru? Çok güzel bir açıklama \ cevap
gatorback 13:16

Bunu küresel olarak ayarlamak mümkün mü? LIke joker IP? 0.0.0.0 çalışmıyor
podarok

2
@podarok, deneHost *
brownian

10

~ / .Ssh / config dosyasını düzenlemek en iyi seçenektir. Aynı alt ağa bağlanmak için birkaç ana makineniz varsa, dosyaya her ana bilgisayarı girmekten kaçınmak için aşağıdaki yöntemi kullanabilirsiniz:

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

Bu benim için harika bir şey çünkü yönetecek bir dizi Brocade anahtarım var ve Ubuntu 16.04'e taşındıktan sonra Host anahtarı hakkında şikayet etmeye başladılar.


6

Kullanımdan kaldırılmış sunuculara bağlanmak için daha yeni OpenSSH kullanmak istiyorsanız:

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss my.host.com

Neler olduğunu görmek istiyorsanız -v ekleyin ve hala çalışmıyorsa -o HostKeyAlgorithms = ssh-dss ekleyin:

ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.host.com

Elbette, / etc / ssh / ssh_config veya ~ / .ssh / ssh_config dosyasını düzenleyebilir ve ekleyebilirsiniz:

Host my.host.com *.myinsecure.net 192.168.1.* 192.168.2.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1    

https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069 , Mikrotik Routerboard'larda şu düzeltmeden bahseder:

/ip ssh set strong-crypto=yes

(Buradaki not, çünkü bu cevap benzer bir hata mesajı ararken web aramalarında da ortaya çıkıyor.)


Bu -o KexAlgorithms = Diffie-Hellman-grup 1-SHA-1 (değil 14) olmalıdır
dalf

Bu ... $ ssh -Q kex sunucusu diffie-cehennem-grubu1-sha1 diffie-cehennem-grubu14-sha1 diffie-cehennem-grubu-takas-sha1 diffie-cehennem-grubu-takas-sha256 ecdh-sha2-nistp256 ecdh- sha2-nistp384 ecdh-sha2-nistp521 eğrisi25519-sha256@libssh.org
Dagelf

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.