私は会社のネットワークにあり、sshをダブルクリックすると、sshに接続するコンピュータの提案が表示されます。しかし、私は私が使用しているコンピュータに応じて異なるコンピュータセットが提案されていることがわかりました。削除しても.ssh/known_hosts
動作は変わりません。 SSHはこれらの提案されたシステムをどこから取得しますか?
答え1
OpenSSHはパッケージのbashコンプリートを使用しますbash-completion
。担当スクリプトは/usr/share/bash-completion/completions/ssh
Fedoraに保存されます。ディストリビューションによって異なる場合があります。この_known_hosts_real
関数はグローバルに定義されており、/usr/share/bash-completion/bash_completion
以下をすべて使用していることがわかります(既知のホストはソースの1つにすぎません)。
- 既知のホスト:
- ユーザーに知られているホストファイル
~/.ssh/known_hosts
- 世界的に知られているホストファイル
/etc/ssh/ssh_known_hosts
、、、、.../etc/ssh/ssh_known_hosts2
/etc/known_hosts
/etc/known_hosts2
- ユーザーに知られているホストファイル
- 設定ファイル(
host
主にエイリアスを使用しますがHostname
sも使用します)- ユーザープロファイル
~/.ssh/config
、~/.ssh2/config
- グローバル構成ファイル
/etc/ssh/ssh_config
-F
スイッチが提供する設定ファイルを使用します。- 含まれる構成ファイル
- ユーザープロファイル
- クラスタ公開鍵へ
~/.ssh2/key_22_<hostname>.pub
(理由はわかりません) - 報告されたホスト
avahi-browse
- 報告されたホスト
ruptime
- 正常なホスト名の完成結果
特定の情報源については、ソースコードを確認してください。