SSH用のKnown_hostキーを手動でインストールする方法は?

SSH用のKnown_hostキーを手動でインストールする方法は?

ホストキーをデータベースにプッシュする安全なトランスポートシステムがあり、Ubuntu 15システムに生成されたキーをインストールし、SLES 11システムにインストールしようとしており、生成されたキーをCentos 7システムにインストールしようとしています。 Ubuntu 15マシン。

したがって、これらのコンピュータにホストキーをインストールする一般的なメカニズムはありますか?本当に混乱していて、私が少し気をつけているようです。すべてを自動化する必要がありますが、鍵を収集する良い方法を見つけましたが、鍵を機械に入れるのに適した場所がわかりません。

Centosマシンの鍵は次のとおりです。

[root@centos ~]# cat /etc/ssh/ssh_host_ecdsa_key.pub ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIl8BT33T4sEAgG56CItPWep/N3IKaUaw8Xy6Fn6k9SLsARi9zZk9FAd6H6DfbIxzkz1sjSjfq1JSVyd3slKf4M=

これは、私のUbuntuコンピュータの既知のホストにインポートしたとき(sshを介して手動で受け入れる)のように見えます。

root@ubuntu:/home# cat aaron/.ssh/known_hosts |1|F+Hr+T8eulEpFFFhwdJKdcOg6yQ=|yM/XLEkDPFUWO/g9vPOONBkRvtE= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIl8BT33T4sEAgG56CItPWep/N3IKaUaw8Xy6Fn6k9SLsARi9zZk9FAd6H6DfbIxzkz1sjSjfq1JSVyd3slKf4M=

したがって、Known_hostsファイルの最初のセクションは暗号化されているように見えますが、SLESシステムでは暗号化されていないため、簡単です。

だから私の質問は

  1. Known_hostsファイルに再反映できるように暗号化された部分をどのように派生しますか?
  2. 特定のLinuxシステムで最初のブロックが暗号化されると予想しているかどうかはどうすればわかりますか?

答え1

sshdファイル形式を説明するマニュアルページ:

SSH_KNOWN_HOSTSファイル形式

/etc/ssh/ssh_known_hostsファイルには、~/.ssh/known_hostsすべての既知のホストのホスト公開鍵が含まれています。グローバルファイルは管理者が準備する必要があり(オプション)、ユーザー固有のファイルは自動的に維持されます。ユーザーが未知のホストから接続するたびに、そのユーザーのキーがユーザー固有のファイルに追加されます。

このファイルの各行にはタグ(オプション)、CPU名、ビット、指数、モジュラス、コメント。フィールドはスペースで区切られます。

[...]

交互に、ホスト名はハッシュ形式で保存できます。ファイルの内容が漏洩すると、ホスト名とアドレスが非表示になります。ハッシュされたホスト名は「|」で始まります。ハッシュされたホスト名は1行に1つしか表示されず、上記の否定またはワイルドカード演算子は適用されません。

bits, exponent, modulusただこの部分が今や公開鍵で一緒に動作するということだけです。ホスト名はハッシュされていますが、それを文字列で作成してssh-keygenファイルを実行できます。

ssh-keygen -H [-f known_hosts_file]

例えばssh-keygen -H -f ~/.ssh/known_hosts

答え2

hostname暗号化された状態を維持する必要はありません。

192.168.0.105 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIl8BT33T4sEAgG56CItPWep/N3IKaUaw8Xy6Fn6k9SLsARi9zZk9FAd6H6DfbIxzkz1sjSjfq1JSVyd3slKf4M=

関連情報