長い話を言い訳してください、どれくらい関連があるのか分かりません。
コンピューター「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>
だから私はこの違いがある理由を理解しようとしています。何か問題がありましたか?セキュリティ上の問題はありますか?私が行方不明になっている可能性が高いですが、それが何であるかを知りたいです。
関連するトピックに関する多くのページを見つけましたが、この問題はまったくありません。
私自身の質問を解決しました。手がかりは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
だから今、私は何も間違っていないと確信しています、指紋はハッシュアルゴリズムのためだけに異なり、結局同じキーでした。