SFTP サーバーの SSH ホスト鍵フィンガープリントを確認
任意の SFTP サーバーの SSH ホスト鍵フィンガープリントを取得します。認証情報なしで、鍵の種類と MD5・SHA256 の両方のフィンガープリントを確認できます。
ホスト鍵フィンガープリントとは
SSH/SFTP サーバーには、それぞれ固有のホスト鍵ペアがあります。フィンガープリントは公開鍵の短いハッシュで、なりすましではなく正しいサーバーに接続していることの確認に使えます。
SSH クライアントはホスト鍵のフィンガープリントを known_hosts ファイルに保存します。初回接続時にはフィンガープリントの確認を求め、2 回目以降は自動で照合します。フィンガープリントが変わったときは、中間者攻撃かサーバーの再構築を疑うべき警告サインです。
SHA256 と MD5
SHA256 のフィンガープリント(最近の OpenSSH の既定)のほうが安全で、衝突にも強い形式です。古いクライアントの中には今も MD5 で表示するものがあります。どちらも同じ鍵を表しています。
フィンガープリントを確認したら、あとは接続のたびにホスト鍵を確認する SFTP クライアントに任せましょう。FTPie は毎回サーバーの身元を確認し、鍵が変わったら警告します。
フィンガープリントを自分で確認する
照合に使う値は、確認しようとしている接続からではなく、サーバーの管理者から入手してください。サーバー上で ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub を実行すると、Ed25519 鍵の SHA256 フィンガープリントが表示されます。RSA と ECDSA の鍵も同じフォルダーにあります。
PC からは、Windows 10/11 に標準で入っている OpenSSH のツールで、このページと同じことができます。コマンド プロンプトで ssh-keyscan sftp.example.com > keys.txt を実行するとサーバーの公開鍵が保存され、ssh-keygen -lf keys.txt でそれぞれのフィンガープリントが表示されます。受け取ったフィンガープリントが SHA256:... ではなく a1:b2:c3:... の形なら、-E md5 を付けて MD5 形式で表示させます。フィンガープリントは形式どうしで変換できないので、同じ形式で比べてください。
サーバーには通常、Ed25519、ECDSA、RSA など複数のホスト鍵があり、それぞれ別のフィンガープリントを持っています。値が合わない原因が鍵の種類の違いだけということも多いので、クライアントが実際に受け取った種類のフィンガープリントで比べてください。
サーバーが再構築されていて新しい鍵が正当なものなら、ssh-keygen -R sftp.example.com で古いエントリーを削除し、次の接続で新しいフィンガープリントを承諾してください。