SCPファイル転送中のSHA-256指紋の確認

SCPファイル転送中のSHA-256指紋の確認

scp bashコマンドを使用してServerAからServerBにファイルを送信するために作成した自動化ツールを使用します。 ServerBホスト認証にはSHA-256フィンガープリントが必要です。 ServerAのファイルを指紋SHA-256を使用してServerBに転送する正しい方法は何ですか?

ベストアンサー1

鍵の指紋のみがあり、公開鍵自体がない場合は、サーバーに公開鍵を要求してその指紋を生成できます。

ssh-keyscan some.server | ssh-keygen -lf -

その後、その出力で指紋を見つけることができます。例:

% ssh-keyscan github.com | ssh-keygen -lf- | grep -w 'SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8' && echo key matched
# github.com:22 SSH-2.0-babeld-f97ce5b9
# github.com:22 SSH-2.0-babeld-f97ce5b9
# github.com:22 SSH-2.0-babeld-f97ce5b9
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
key matched

指紋が一致すると、キーが次に追加されます.known_hosts

if ssh-keyscan some.server 2>/dev/null | ssh-keygen -lf - | grep -q 'SHA256:somekey'
then
    ssh-keyscan some.server >> ~/.ssh/known_hosts
fi

おすすめ記事