以前は、「myhost」、「myhost1」などの名前のホストがありました。これで、「myhost3」を除くすべてのホストが無効になります。私は/etc/hosts
それを削除しましたが、~/.ssh/known_hosts
zshはまだ私のために完了しました。 zshがこれらのホストを忘れるように編集する必要がある他のファイルはありますか?
デフォルトでは、表示されるzsh構成でホスト固有の項目を変更していません。
修正する:
一定時間が経過すると(休止状態後に再起動されない)、これらのホストは消えます。おそらくzshはどのようなキャッシュを消去したのでしょうか? (しかし、~/.zcompdump
私は確認したわけではありません。zshの新しいインスタンスを起動してみましたが、違いはありませんでした。)
後で試してみてテストします。
アップデート#2:
再試行して、完了リストから新しく追加されたホストを正常に削除しました。たぶん私は前に何か間違っていたかもしれません。申し訳ありません。
答え1
実験では、zshはオートコンプリート機能を実行します.ssh/known_hosts
が、起動/最初の使用時にのみ読み取られます。
問題のあるホストを削除するssh-keygen -R hostname
か、単に編集して.ssh/known_hosts
シェルを再起動すると機能するようです。
答え2
zshがどのように完了するかはわかりませんが、私が自分で開発したbashコンプリートスクリプトでも~/.ssh/config
ホストがあるかどうかを確認できますか?
または、strace -eopen
オートコンプリート中にzshプロセスを実行し、どのように見えるかを確認してください。 :)
答え3
zsh完了キャッシュを削除する必要があるかもしれません~/.zcompdump
(または$_comp_dumpfile
場所を変更した場合)。