ssh
クライアントでは、ファイルはプレーン.ssh/knwon_hosts
テキストである可能性があります(たとえば、FreeBSD 12.0で発生します)。
<ip_address> ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEIlD8R6Kxj9CdToar+3ay4B0yE65dP0EYoRJjEEgLjmvCTIv59DBp+0j2z0+NM0hxxJew79i1bYuN02lEvT2/E=
またはハッシュすることもできます(Ubuntu 18.04のように)。
|1|3Et6QShrP2OrD4tWdOGP3jy3YC4=|f2FrJ5tOjjmFSrGWyen1DokJyLc= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIyZLGNvIADWL5SSkohBmDCVpLUzAHNejqQAXP3SSY300YIdNKCn3jqGmFAJiKB1CY0HnVirgFjdAKpyw3+6yzo=
質問1
ハッシュからプレーンテキスト行を取得することは可能ですかknown_hosts
?
Ubuntusshd マンページ指摘した:
ハッシュされたホスト名は1行に1つしか表示されず、上記の否定またはワイルドカード演算子は適用されません。
これが何を意味するのかよく分からない。
質問2
これは、このようなアドレスがプレーンテキストで生成され、手動でハッシュされた場合でもハッシュ192.168.*.*
形式で許可されないことを意味しますか?known_hosts
のように前の質問、私は次のクライアントを使用しています:OpenSSH_7.8p1, OpenSSL 1.1.1a-freebsd 20 Nov 2018
とOpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
。
答え1
いいえ、はい、その順序で。ラインをハッシュする目的は、以前に接続されたホストを隠すことです。したがって、ハッシュ関数の実際の目的は、(実質的な目的で)ホスト名がホスト名に属することを知らないようにすることです。
さらに、ハッシュされたホスト名では、ワイルドカードを実際に機能させることはできません。に接続しようwebhost47
として行がハッシュされている場合、一致する行をどのように見つけることができますかwebhost*
?ハッシュはトラップドアなので、webhost*
ハッシュと確認だけで行を見つけることができます。しかし?ebhost47
、w?bhost47
なども確認しなければならないが??bhost47
これは言葉にはなりません。
(このコメントもあなたができないという意味だと思います。
hashblurb1,hashblurb2 ssh-rsa …
可能であってもハッシュ化されたホスト名を使用してください。
hostname1,hostname2 ssh-rsa …
今すぐこれを行うことができない技術的な理由はありません。 )