ssh
サーバーに接続すると、16進指紋が表示されるという古い質問がありました。
今、なぜbase64形式で提供されるのですか?利点は何ですか?
私はMD5
それが壊れていてデフォルトはnowであることを知っていますが、sha256
指紋形式の場合、base64エンコーディングと16進文字列は同じことを示します。では、フォーマットを変更するとどのような利点がありますか?
ベストアンサー1
変更された出力形式だけでなく、指紋を生成するために使用されるアルゴリズムも同様です。以前はMD5でしたが、今はSHA256です。 MD5はさまざまな面で破損しており、一般的なアドバイスSHA256などを使用してください。そのような変化には長い時間がかかりました。
~からリリースノート:
キーフィンガープリントに使用されるアルゴリズムを制御するために、FingerprintHashオプションと
ssh(1)
それsshd(8)
に対応するコマンドラインフラグを他のツールに追加しました。
デフォルト値がMD5からSHA256に変更され、フォーマットが16進数からbase64に変更されました。指紋は今ハッシュアルゴリズムを期待しています。
新しい形式の例:SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE
ビジュアルホストキーも異なります。
君はまだ手に入る古い出力:
ssh -o FingerprintHash=md5 ...
SHA256ハッシュ値は256ビット出力を持ち、16進数64文字に変換されます。これは、16進32文字MD5ハッシュ長の2倍です。 Base64でエンコードされたSHA256文字の長さはわずか44バイトです(=
とにかく最後のパディングは省略されます)。