web-dev-qa-db-ja.com

SSHログイン時のホストキーフィンガープリントがキー生成時のものと異なります

長い話を言い訳してください、どれくらい関連があるのか​​分かりません。

コンピューター「S」と「C」はLAN上にあります。同じセグメント上にルーティングできないipv4アドレスがあり、着信接続試行からファイアウォールで保護されています。

'S'は、Ubuntu 16.04.x LTSサーバーがインストールされ、ヘッドレス、openssh-server、および静的IPを取得します。 「S」の他のすべてのものは、デフォルト設定のままです。

OpenSSHクライアントを使用した「C」の場合:

$ ssh [email protected]

そして、提供されたホストキーを受け入れ、すべてが期待どおりに機能します。 Shell to Sでapt-get updateとugpradeを実行します。

ここで、キー認証またはパスワード認証のいずれかを使用するために、緩やかな設定でCのクライアントを構成します。そして、C、ed25519、RSAでキーを生成します。

次に、Sに再度ログインすると、再起動が必要というウェルカムメッセージが表示されます。すべてのデフォルトサーバーキーをバックアップディレクトリに移動して新しいキーを生成することを延期します(keygen設定を制御し、強力なキーのみが存在することを確認します)。これは期待どおりに機能し、各キーにASCIIピクトグラムを表示します。

ここでSを再起動し、Cからセッションを強制終了します。その後、Sに再度ログインします。もちろん、ホストキーが変更されました。既知のホスト。だから私はそれをして、再びログインを開始します。

ASCIIアートと指紋は、予想どおり異なります。ただし、キーを生成していたときに表示されたものとは一致しません。

状況(ファイアウォールなど)を信頼しているため、先に進みログインします。今Sで、の出力

$ ssh-keygen -lv -f ssh_Host_ed25519_key.pub

キーを生成したときと同じです:

256 SHA256:<longStringTheFirstHere> root@S (ED25519)
+--[ED25519 256]--+
<ASCII art follows>

ただし、同時に別のシェルから再度ログインでき、表示されるホストキーは次のとおりです。

256 SHA256:<longStringTheSecondHere> root@S (ED25519)
+--[ED25519 256]--+
<different ASCII art>

だから私はこの違いがある理由を理解しようとしています。何か問題がありましたか?セキュリティ上の問題はありますか?私が行方不明になっている可能性が高いですが、それが何であるかを知りたいです。

関連するトピックに関する多くのページを見つけましたが、この問題はまったくありません。

3
stephen_789

私自身の質問を解決しました。手がかりはASCIIアートの下部にありました。このコマンドの出力:

$ ssh-keygen -lv -f ssh_Host_ed25519_key.pub

下部にあります:

+----[SHA256]-----+

サーバーがログイン時にキーを提示するとき、ASCIIアートの下部にある間:

+-----------------+

man ssh-keygenは、ハッシュアルゴリズムを指定できる-Eパラメーターを公開します。 SHA256を使用すると、なしの場合と同じ結果になりますが、md5を使用すると、ログイン時に表示される出力が生成されます。

$ ssh-keygen -lv -E md5 -f ssh_Host_ed25519_key.pub

だから今、私は何も間違っていないと確信しています、指紋はハッシュアルゴリズムのためだけに異なり、結局同じキーでした。

4
stephen_789