Entfernen Sie einen Host aus der Abschlussliste für ssh in zsh


7

Ich hatte einmal einige Hosts mit den Namen "myhost", "myhost1" usw. Und jetzt werden alle außer "myhost3" ungültig. Ich habe diese aus /etc/hostsund entfernt ~/.ssh/known_hosts, aber zsh vervollständigt sie immer noch für mich. Gibt es eine andere Datei, die ich bearbeiten sollte, damit zsh diese Hosts vergisst?

Ich habe in meiner zsh-Konfiguration nichts in Bezug auf Hosts geändert. Sie kommen standardmäßig heraus.

AKTUALISIEREN:

Einige Zeit später (nach einem Ruhezustand, aber ohne Neustart) verschwinden diese Hosts. Vielleicht hat zsh eine Art Cache geleert? (Aber nicht, ~/.zcompdumpals ich das überprüft habe. Ich habe auch versucht, neue Instanzen von zsh zu starten, aber das macht keinen Unterschied.)

Ich werde es später versuchen und testen.

UPDATE 2:

Ich habe es erneut versucht und erfolgreich einen neu hinzugefügten Host aus der Abschlussliste entfernt. Vielleicht habe ich vorher etwas falsch gemacht, sorry.

Antworten:


6

Aus Experimenten geht hervor, dass zsh zwar .ssh/known_hostsfür die automatische Vervollständigung verwendet wird, dies wird jedoch nur beim Start / bei der ersten Verwendung gelesen.

Das Löschen des fehlerhaften Hosts ( ssh-keygen -R hostnameoder einfach das Bearbeiten .ssh/known_hosts) und das anschließende Neustarten der Shell scheint zu funktionieren.


0

Ich weiß nicht, wie zsh sie vervollständigt, aber meine selbst erstellten Bash-Vervollständigungsskripte sehen sich auch an ~/.ssh/config. Vielleicht überprüfen, ob die Gastgeber da drin sind?

Alternativ kann strace -eopender zsh-Prozess während der automatischen Vervollständigung und sehen, wo es aussieht :)


Ich habe auch nachgesehen ~/.ssh/config. Siehe mein Update bitte.
Lilydjwg

0

Möglicherweise müssen Sie Ihren zsh-Abschlusscache löschen ~/.zcompdump(oder $_comp_dumpfilewenn Sie den Speicherort geändert haben).


Ich habe diese Datei auch überprüft (indem ich einen der Hosts durchsucht habe). Siehe mein Update bitte.
Lilydjwg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.