ssh-keyscan:要求して受信した公開鍵が実際に本物であることを確認する方法は?

ssh-keyscan:要求して受信した公開鍵が実際に本物であることを確認する方法は?

内部に仕える人/etc/ssh/次のディレクトリファイルに存在します。

ssh_hosts_rsa_key.pub
ssh_hosts_ecdsa_key.pub
ssh_hosts_ed25519_key.pub

rsaこれには、などのキータイプに一致する公開キーが含まれます。ecdsa

もし顧客次のコマンドを実行します。

# Retrieve and Show all the public keys content
ssh-keyscan 192.168.1.X

# Retrieve all the public keys content and Show the fingerprint of them 
ssh-keyscan 192.168.1.X | ssh-keygen -lf -

出力はそれぞれ次public keysのようになります。fingerprint

観察する

  • コマンドによって表示されるデータは、サーバーのディレクトリにある利用可能なファイルssh-keyscanから来ます。/etc/ssh

懸念

  • サーバーが偽のサーバーと交換されたり、クライアント/サーバー通信が傍受されたり破損したりする可能性があることをオンラインで読みました。

したがって、次のコマンドを実行しても:

ssh-keyscan [-H] 192.168.1.X >> ~/home/<username>/public_keys

public_keysサーバーから受信したデータを保存し、後で検証/分析するカスタムファイルはどこにありますか?だから...

質問

  • 確認方法公開鍵命令を介して尋ねられた情報はssh-keygen実際に本当ですか?

目的は実行を防ぐことです

ssh-keyscan [-H] 192.168.1.X >> ~/.ssh/known_hosts

ファイルに汚染されたデータを追加し、~/.ssh/known_hosts最後に重要なデータを偽の宛先に送信します。公開鍵顧客そのもの。

私の考えでは、サーバーの管理者がこの.pubファイルをクライアントに共有しているようです。

  • メールで
  • FTPによるアクセス

したがって、顧客は次のことができます。

  • 上記のpublic_keysファイルを使用して、ファイルの内容と簡単な比較を試してください.pub。平等でなければならない
  • ssh-keygenオプションとともにコマンドを使用すると、-lvfファイルを直接生成し、コマンドとすばやく比較できます。やはり平等でなければならないfingerprint.pubssh-keyscan 192.168.1.X | ssh-keygen -lf -

一見すると、これが最も確実なアプローチです。 「小規模」のLAN / WANに適している可能性がありますが、管理者がポリシーのためにこれらのファイルを共有したくないと仮定すると、私の質問にどのように答えるべきですか? - もちろん、別の最悪のシナリオは、管理者のEメール/FTPも破損することです。

関連情報