知っているホスト鍵のアルゴリズムを優先する
接続先のホスト鍵がすでにknown_hostsに登録されていた場合、そのホスト鍵のアルゴリズムを優先して使うようにする。
ホスト鍵アルゴリズムの優先設定が ssh-ed25519, ecdsa-sha2-nistp521, ssh-rsa だった時に、
known_hostsに接続先ホストのecdsa-sha2-nistp521鍵が登録されていた場合、
ホスト鍵アルゴリズムとして ecdsa-sha2-nistp521, ssh-ed25519, ssh-rsa を通知する。
複数のホスト鍵がknown_hostsに登録されていた場合、その中での優先順位はホスト鍵の優先設定に従う。
メリット:
デメリット:
デメリットに関しては #45436 の設定で緩和可能。例えば前述の設定を使っている時にホスト側で新たにssh-ed25519に対応した場合、
という動作になる。
HostKeyAlgorithmsが未設定の場合はこの動作になる。HostKeyAlgorithmsを設定してあるとその指定に従う。
Tera Termでは設定がされているかで判断するのは難しい為、「すでに知っているホスト鍵の方式を優先する」のような設定で有効/無効を切り替えるようにするのが妥当か。
#45436 の設定が実装されて on ならば有効でもデメリットがほぼ無いので、こちらも on をデフォルトにするのが妥当か。
知ってる鍵のアルゴリズムを優先するのは、やめたほうがいいです。 この動作はCVE-2020-14145にて脆弱性だと指摘されているからです。
OpenSSHでも、(脆弱性ではないが) バグとして8.4で動作を変更しています。
接続先のホスト鍵がすでにknown_hostsに登録されていた場合、そのホスト鍵のアルゴリズムを優先して使うようにする。
例
ホスト鍵アルゴリズムの優先設定が ssh-ed25519, ecdsa-sha2-nistp521, ssh-rsa だった時に、
known_hostsに接続先ホストのecdsa-sha2-nistp521鍵が登録されていた場合、
ホスト鍵アルゴリズムとして ecdsa-sha2-nistp521, ssh-ed25519, ssh-rsa を通知する。
複数のホスト鍵がknown_hostsに登録されていた場合、その中での優先順位はホスト鍵の優先設定に従う。
メリット/デメリット
メリット:
デメリット:
デメリットに関しては #45436 の設定で緩和可能。例えば前述の設定を使っている時にホスト側で新たにssh-ed25519に対応した場合、
という動作になる。
OpenSSHの動作
HostKeyAlgorithmsが未設定の場合はこの動作になる。HostKeyAlgorithmsを設定してあるとその指定に従う。
Tera Termでは設定がされているかで判断するのは難しい為、「すでに知っているホスト鍵の方式を優先する」のような設定で有効/無効を切り替えるようにするのが妥当か。
デフォルト設定
#45436 の設定が実装されて on ならば有効でもデメリットがほぼ無いので、こちらも on をデフォルトにするのが妥当か。