Known_hostsのカスタムポートの下にホスト名があることを確認してください。

Known_hostsのカスタムポートの下にホスト名があることを確認してください。

known_hostsホスト名がすでにファイルに存在することを確認する必要があります。

通常私は次のようにします:

ssh-keygen -H -F hostname

しかし、これはこの特別なケースでは私には適していないようです。次のようにポート2102を使用してホストに接続します。

ssh user@myhost -p 2102

known_hostsファイルにホスト名を追加するように求められ、そうだと答えました。その後、私は実行しましたが、ssh-keygen -H -F myhost空の結果を受けました。

さらに悪いことはハッシュされているknown_hostsということです。

これはポート22で完全に機能するため、ログインしてssh user@myotherhost既知のホストを保存して実行すると、ssh-keygen -H -F myotherhostファイルから正確な行を受け取ります。

それでは、ポート2102を使用するようにコマンドをどのように調整しますか?

ベストアンサー1

[hostname]:2121ファイルに保存されるので、次の形式を使用できますknown_hosts(角かっこを使用する必要があります!)。

ssh-keygen -H -F "[hostname]:2121"

概念証明(最小テストケース記録):

$ echo "[hostname]:2121 ssh-rsa AAA...==" > known_hosts
$ ssh-keygen -Hf known_hosts 
known_hosts updated.
Original contents retained as known_hosts.old
WARNING: known_hosts.old contains unhashed entries
Delete this file to ensure privacy of hostnames
$ ssh-keygen -H -F "[hostname]:2121" -f known_hosts
|1|R21497dX9jN052A92GSoVFbuTPM=|lRtIr6O564EaFG0SsIulNAWpcrM= ssh-rsa AAA...==

ホスト名の代わりにIPアドレスを使用する必要がありますが、通常は機能します。

おすすめ記事