Sehr neue Frage!
Ich bin auf zwei verschiedene Server angewiesen, die beide Teil desselben Amazon AWS-Clusters sind. Sie werden nicht von mir geführt.
In einer SSH-Sitzung kann ich das Terminal automatisch vervollständigen. Auf der anderen Seite nicht - ich wünschte, es wäre so.
Warum ist das so - ist es eine vom Serveradministrator festgelegte Option?
Und kann ich etwas dagegen tun?
Vielen Dank!
Von meiner eigenen Antwort auf unix.SE kopiert :
Es scheint, dass speziell in Ubuntu die Einträge in
~/.ssh/known_hosts
gehasht sind , so dass die SSH-Vervollständigung sie nicht lesen kann. Dies ist eine Funktion, kein Fehler. Selbst durch HinzufügenHashKnownHosts no
zu~/.ssh/config
und konnte/etc/ssh/ssh_config
ich das Host-Hashing nicht verhindern.Die Gastgeber, an denen ich interessiert bin, sind jedoch auch in zu finden
~/.ssh/config
. Hier ist ein Skript für Bash Completion, das die Einträge aus dieser Datei liest:Fügen Sie das Skript ein
/etc/bash_completion.d/ssh
und geben Sie es mit dem folgenden Befehl ein:Ich fand diesen Leitfaden von unschätzbarem Wert und hätte ihn ohne ihn nicht schreiben können. Vielen Dank an Steve Kemp für das Schreiben dieses großartigen Leitfadens!
quelle
IIRC könnte es auch ein Problem sein, dass ssh die Hostnamen in ~ / .ssh / unknown_hosts hascht
Die meisten mir bekannten Installationen verwenden ~ / .ssh / unknown_hosts als Quelle für die Liste der verfügbaren Hosts, aber einige Systeme haben auch damit begonnen, "HashKnownHosts yes" festzulegen, wodurch die Verwendung von know_hosts als Quelle verboten wird.
Wenn Ihre bekannten Host-Zeilen mit so etwas beginnen
dann wird das Hashing aktiviert.
quelle