SSHは戻ります:一致するホストキータイプが見つかりません。彼らの申し出:ssh-dss


81

クライアントを設定せずに、WindowsボックスまたはOSXコマンドラインターミナルでPuttyを使用してNASにSSHで接続することに慣れています。

Ubuntu 16.04は(LAN経由で)NASへのSSHを試みます。

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. この結果/応答は意図的ですか?
  2. NASへのSSHアクセスを可能にする簡単な修正はありますか?

.pemWindowsマシンにSSH秘密鍵()ファイルがありませんでしたか?
Android Dev

Windowsボックスに.pemファイルがない
-gatorback

1
あなたのNASはたまたまWestern Digital EXシリーズではないでしょうか?:)
Adam Plocher 16

それはMyCloud装置であって、何とか明確にすることを願っています
gatorback

回答:


139

16.04に含まれるOpenSSHのバージョンは、ssh-dssを無効にします。この問題を含むレガシー情報を含むすっきりしたページがあります:http : //www.openssh.com/legacy.html

簡単に言う-oHostKeyAlgorithms=+ssh-dssと、SSHコマンドにオプションを追加する必要があります。

ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.8.109

また、ホストパターンをに追加して~/.ssh/config、キーアルゴリズムを毎回指定する必要がないようにすることもできます。

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

これには、IPアドレスを入力する必要がないという利点もあります。代わりに、sshホストを認識し、nas接続先を認識します。もちろん、代わりに他の名前を使用できます。


これらはUbuntu側のソリューションだと思います。NAS側に簡単なオプションはありますか?すべてのオプションを理解し、セキュリティ上の弱点を強化する機会をつかむことは素晴らしいことです。たぶん、これは別のスレッドの別の質問ですか?非常に良い説明\応答
ゲイターバック

これをグローバルに設定することは可能ですか?ワイルドカードIPが好きですか?0.0.0.0が機能しない
-podarok

2
@podarok、試すHost *
ブラウン

10

〜/ .ssh / configファイルを編集するのが最適なオプションです。同じサブネットに接続するホストが多数ある場合は、次の方法を使用して、ファイルに各ホストを入力しないようにすることができます。

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

これは、管理するBrocadeスイッチが多数あり、Ubuntu 16.04に移行した後、ホストキーについて不満を抱き始めたため、私にとってはうまく機能しています。


6

新しいOpenSSHを使用して非推奨のサーバーに接続する場合:

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

何が起きているのかを確認したい場合は-vを追加し、それでも機能しない場合は-o HostKeyAlgorithms = ssh-dssを追加します。

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

もちろん、/ etc / ssh / ssh_configまたは〜/ .ssh / ssh_configを編集して、以下を追加することもできます。

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 Routerboardsの次の修正に言及しています。

/ip ssh set strong-crypto=yes

(同様のエラーメッセージを検索する際にこの回答がWeb検索でも表示されるため、ここでこれに注意してください。)


それは、-O KexAlgorithms =ディフィー・ヘルマン-GROUP1-SHA1(14ない)でなければならない
DALF

$ ssh -Q kex server diffie-hellman-group1-sha1 diffie-hellman-group14-sha1 diffie-hellman-group-exchange-sha1 diffie-hellman-group-exchange-sha256 ecdh-sha2-nistp256 ecdh- sha2-nistp384 ecdh
sha2

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.