OpenSSHはどのホストキーアルゴリズムを選択するかをどのように決定しますか?

OpenSSHはどのホストキーアルゴリズムを選択するかをどのように決定しますか?

Raspbianとすべてのライブラリを更新した後、SSHで何か違うことを見つけました。自宅から「既知のホスト」ファイルを削除して自分のボックスにsshを接続すると、通常どおりホスト公開鍵が提供されますが、今回は次のようなものが表示されます。

ecdsa-sha2-nistp256 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

数ヶ月前は常にRSAキータイプを提供したと誓います。なぜこのような変化が起こったのか?サーバーは、ユーザーに接続を提供する/etc/ssh/の公開鍵フィンガープリントをどのように決定しますか?

ssh --versionクライアント Linux Mint 18 システム出力OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g-fips 1 Mar 2016とホスト出力OpenSSH_6.7p1 Raspbian-5+deb8u3, OpenSSL 1.0.1t 3 May 2016

答え1

クライアントは、 ssh_configコマンドラインでHostKeyAlgorithmsオプションを使用して、優先ホストキーアルゴリズムを指定できます。システムのopensshバージョンのデフォルトのHostKeyAlgorithms設定を確認してください。サーバーはクライアントリストの最初のキータイプを使用します。~/.ssh/configman ssh_configそしてサーバーに存在します。

以前のRSAキー認証を維持するには、-oHostKeyAlgorithms=ssh-rsaコマンドラインに ""を追加するか、次の行を追加します。

HostKeyAlgorithms ssh-rsa

SSH設定ファイルに。

関連情報