質問: ssh:エージェントキーrsa sha256:[ハッシュ]が不正な署名タイプを返しました 2台のマシンをdebian 9からdebian 1にアップグレードしたところ、sshを使用してそれらに接続すると、次の警告が表示されます。agent key rsa sha256:[hash] returned incorrect signature type 私は以前とまったく同じ設定を使用しており、誰も文句を言っていませんでした。正常に接続する機能に影響はありませんが、その意味と修正方法を理解したいと思います。これはssh -vvv出力です:debug3: sign_and_send_pubkey: rsa sha256:[hash] debug3: sign_and_send_pubkey: signing using rsa-sha2-512 agent key rsa sha256:[hash] returned incorrect signature type debug3: sign_and_send_pubkey: signing using ssh-rsa 私のsshクライアントがハッシュアルゴリズムを使用して、sshサーバーが望まないキーに署名していることを正しく理解していますか?それともsshエージェントですか? sshサーバーが文句を言わないように適切に設定する方法を教えてください。sha256:接頭辞とメッセージsigning using rsa-sha2-512が混同しているため、何が期待され、実際に何が使用されているのかわかりません。
回答: 私は以前とまったく同じ設定を使用しており、誰も文句を言っていませんでした。 debian 9からdebian 10にアップグレードしました。これは「まったく同じ設定」ではありません。 私のsshクライアントがハッシュアルゴリズムを使用して、sshサーバーが望まないキーに署名していることを正しく理解していますか? 番号; sshエージェントはclientが好まないハッシュアルゴリズムを使用しています。従来、ssh鍵タイプごとに定義されたハッシュアルゴリズムは1つだけでしたが、ssh-rsaキーは、署名を作成するときに常にsha1アルゴリズムを使用しました。 (これはデータに署名するためのものであることに注意してください–認証チャレンジ–キー自体ではありません。)最近、sha1が最新(またはそれに近い)になったため、rsaとsha256およびsha512の組み合わせが指定され、ssh-agentプロトコルがフラグフィールドで拡張され、通常とは異なるハッシュタイプを要求するようになりました。この接続では、クライアントとサーバーがsha512ベースの署名を代わりに使用するように交渉しています。ただし、クライアントがssh-agentに署名の作成を要求した場合、ssh-agentは新しい拡張機能を無視し、代わりにsha1ベースの署名を返しました。通常、これは、エージェントが単純にサポートしていない更新されたプロトコルの場合に発生します。解決策は、sshエージェントをアップグレードすることです。 opensshとputtyの最新バージョンには、どちらも新しいプロトコルと互換性のあるエージェントがあります。 gnupgのgpg-agentも、v2.2.6以降でこれをサポートする必要があります。 sha256で混乱:接頭辞とrsa-sha2-512を使用したメッセージ署名。 sha256:接頭辞には何もないがあり、作成される署名と関係があります。これは、キーのフィンガープリントが生成された方法を示します(フィンガープリントは公開キーの直接ハッシュであり、署名ではありません)。古いクライアントは、この目的でmd5を使用していました。フィンガープリントは情報としてのみ使用され(どのキーが使用されているかを示すため)、その外観は実際のssh接続には影響しません。