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.

lilydjwg
quelle

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.

Reinhardt Quelle
quelle
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 :)

Dennis Kaarsemaker
quelle
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).

Gilles 'SO - hör auf böse zu sein'
quelle
Ich habe diese Datei auch überprüft (indem ich einen der Hosts durchsucht habe). Siehe mein Update bitte.
Lilydjwg