Konsolen-Tipps

Terminal-Geflüster für die Linux-Konsole

Befehlseingaben und Befehlsausgaben: In den folgenden Tipps zur Befehlszeile geht es unter anderem darum, bereits eingetippte Kommandos schneller zu finden und Textausgaben übersichtlicher darzustellen.

Befehlsverlauf aufräumen: Verunglückte Befehle aus dem Verlauf werfen

Es passiert immer wieder, dass der eingegebene Befehl wegen einer kleinen Nachlässigkeit nicht sofort funktioniert, sondern erst nach einer oder mehreren Korrekturen. Es ist unvermeidlich, dass sich mit der Zeit im Befehlsverlauf der Shell zahlreiche fehlerhafte Kommandos tummeln.

Die Suchfunktion mit Strg-R zeigt immer den zuletzt ausgeführten Befehl an, auf den die eingegebene Zeichenkette zutrifft. Wenn Sie also ein neueres, korrigiertes Kommando eingeben, dann steht es im Befehlsverlauf vor den anderen Varianten des Kommandos. Ungünstig ist es aber, wenn sich ein gerade eingegebener und verunglückter Befehl an die erste Stelle in der Suche drängt.

Lästig sind auch versehentliche Eingaben, etwa ein unbeabsichtigtes Einfügen der Zwischenablage in einem Terminal-Fenster.

Damit im Befehlsverlauf die relevanten und korrekten Kommandos schneller auffindbar sind, ist ein gelegentliches Aussortieren des Verlaufs hilfreich. Dieser befindet sich bei jedem Benutzer in der versteckten Textdatei „.bash_history“ im Home-Verzeichnis. Zum Bearbeiten schließen Sie die geöffneten Terminal-Fenster und öffnen die Datei „.bash_history“ mit einem Texteditor wie Gedit, indem Sie im Ausführen-Dialog (Tastenkombination Alt und F2)

gedit .bash_history

eingeben. Diese Datei ist sehr einfach aufgebaut: Jedes Kommando im Verlauf ist in einer Zeile untergebracht, und das Löschen der Zeile entfernt das Kommando aus dem Gedächtnis der Shell.

SSH-Verbindungen: Veraltete SSH-Fingerabdrücke entfernen


Vor dem Aufbau einer SSH-Verbindung stellt sich nicht nur der Client mit Schlüssel oder Passwort zur Authentifizierung vor. Zunächst macht sich der Server mit seinem eindeutigen SSH-Fingerprint (Fingerabdruck) bekannt. Dies soll verhindern, dass ein anderer oder manipulierter Server unter der gleichen Adresse SSH-Verbindungen entgegennimmt. Im eigenen lokalen Netzwerk mit wechselnden IP-Adressen sind die häufiger auftretenden Warnhinweise von SSH aber eher lästig als hilfreich.

SSH verweigert die Verbindung: Hat sich der Server-Fingerabdruck wegen wechselnden IP-Adressen oder nach einer Neuinstallation geändert, dann löscht dieser Befehl den alten Fingerabdruck.
SSH verweigert die Verbindung: Hat sich der Server-Fingerabdruck wegen wechselnden IP-Adressen oder nach einer Neuinstallation geändert, dann löscht dieser Befehl den alten Fingerabdruck.

Bei der ersten Kontaktaufnahme zu einem SSH-Server müssen Sie auf dem Client den Fingerabdruck des Servers immer erst bestätigen, bevor der Verbindungsaufbau beginnt. Der Client speichert den Fingerabdruck für alle weiteren Verbindungen in der Datei „~/.ssh/known_hosts“, also im verstecken Unterordner „.ssh“ im Home-Verzeichnis. Wenn sich nun die IP-Adressen von SSH-Servern ändern, was im lokalen Netzwerk mit DHCP immer wieder mal vorkommen kann, oder wenn Sie ein Server-System neu installieren, dann wird sich SSH auf dem Client mit dem alarmierenden Warnhinweis „Warning: Remote host identification has changed!“ über einen geänderten Fingerabdruck des SSH-Servers beschweren. SSH verweigert die Verbindungsaufnahme, da es sich im einen Phishing-Angriff handeln könnte. Sofern Sie sich sicher sind, dass kein Angriff, sondern lediglich eine geänderte Adresse oder eine Neuinstallation des Servers für den Hinweis verantwortlich ist, dann können Sie den alten Fingerabdruck mit einem flinken Kommando löschen. Die Datei „~/.ssh/known_hosts“ brauchen Sie dazu nicht direkt zu bearbeiten. Geben Sie einfach

ssh-keygen -R [Host]

ein, wobei der Platzhalter „[Host]“ der Name oder die IP-Adresse des geänderten SSH-Servers ist.

Bei der nächsten Verbindungsaufnahme per SSH wird Ihnen dann der neue Fingerabdruck des Servers zur Bestätigung angeboten.