Okt 12: Auto Completion bei SSH
Früher gabs ja mal die Auto Completition bei SSH Verbindungen von Haus aus, heute ist das bei den meisten Distributionen nicht mehr so, da die Hostnamen und IP Adressen standardmässig gehasht abgespeichert werden. Dies kann man in der .ssh/known_hosts sehen, der Beginn ein jeder Zeile stellt den Hash von Hostnamen/IP dar.
Um nun die Auto Completion für SSH Verbindungen zu reaktivieren, muss man erstmal seine SSH Config anpassen. Dies geschieht einfach über das Einfügen/Anpassen des Eintrags "HashKnownHosts no" in der lokalen .ssh/ssh_config oder global in /etc/ssh/ssh_config.
Ist dies erledigt, so muss man noch seine bisherigen known_hosts löschen, indem man das known_hosts File in seinem Home Directory löscht oder leert. Nun fragt ssh beim neuen Verbindungsaufbau natürlich wieder nach, speichert den Host ab, diesmal aber nicht gehasht.
Die Bash Completion selbst aktiviert man nun für Ubtuntu/Debian oder ähnliche Systeme in dem File /etc/bash.bashrc. Dort entkommentiert man einfach den 3 Zeiler ab "#enable bash completion in interactive shells":
Nach einem Neustart der Session funktioniert nun die Auto Completion mittels "ssh user@hostname", sobald der Hostname/IP einmal bekannt ist.
Bei SuSe beispielsweise ist das bash_completion Skript standardmässig nicht dabei, deshalb gibts das hier zum Download
Falls jemand das hier erklärte Skript zum Anpassen der Tabnamen in Konsole oder ähnliches verwendet, so muss er das dem bash_completion Skript noch publizieren. Dazu fügt ihr im Skript unter dem Punkt "# ssh(1) completion" Am Ende in der Zeile "shopt -u hostcomplete && complete -F _ssh ssh slogin sftpxhost autossh" einfach noch den entsprechenden Aufruf mit ein, dann wird dieses bei der Auto Vervollständigung auch berücksichtigt.
Um nun die Auto Completion für SSH Verbindungen zu reaktivieren, muss man erstmal seine SSH Config anpassen. Dies geschieht einfach über das Einfügen/Anpassen des Eintrags "HashKnownHosts no" in der lokalen .ssh/ssh_config oder global in /etc/ssh/ssh_config.
Ist dies erledigt, so muss man noch seine bisherigen known_hosts löschen, indem man das known_hosts File in seinem Home Directory löscht oder leert. Nun fragt ssh beim neuen Verbindungsaufbau natürlich wieder nach, speichert den Host ab, diesmal aber nicht gehasht.
Die Bash Completion selbst aktiviert man nun für Ubtuntu/Debian oder ähnliche Systeme in dem File /etc/bash.bashrc. Dort entkommentiert man einfach den 3 Zeiler ab "#enable bash completion in interactive shells":
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Nach einem Neustart der Session funktioniert nun die Auto Completion mittels "ssh user@hostname", sobald der Hostname/IP einmal bekannt ist.
Bei SuSe beispielsweise ist das bash_completion Skript standardmässig nicht dabei, deshalb gibts das hier zum Download
Falls jemand das hier erklärte Skript zum Anpassen der Tabnamen in Konsole oder ähnliches verwendet, so muss er das dem bash_completion Skript noch publizieren. Dazu fügt ihr im Skript unter dem Punkt "# ssh(1) completion" Am Ende in der Zeile "shopt -u hostcomplete && complete -F _ssh ssh slogin sftpxhost autossh" einfach noch den entsprechenden Aufruf mit ein, dann wird dieses bei der Auto Vervollständigung auch berücksichtigt.
Okt 9: Namen der Tabs in Konsole automatisch dem Hostnamen anpassen
Das geschieht über folgendes kleines Skript:
#!/bin/bash
REAL_SSH=/usr/bin/ssh
if [ ! -z "$KONSOLE_DCOP_SESSION" ]
then
# Use the last argument as the title
for arg in $@; do
NEW_TITLE="$arg"
done
OLD_TITLE=`dcop "$KONSOLE_DCOP_SESSION" sessionName`
dcop "$KONSOLE_DCOP_SESSION" renameSession "$NEW_TITLE"
function restore_title() {
dcop "$KONSOLE_DCOP_SESSION" renameSession "$OLD_TITLE"
}
# If SSH is interrupted (CTRL-C), restore the old title
trap "restore_title" SIGINT
$REAL_SSH $
restore_title
else
$REAL_SSH $
fi
Das Skript packt man einfach in /usr/local/bin und macht es ausführbar. Nun verbindet man sich einfach per "s $hostname" anstatt "ssh $hostname" und der Tabname wird umgeschrieben. Beendet man eine Session, so wird der Tabname wieder auf den lokalen Hostnamen zurückgesetzt.
Links:
Download Skript
« vorherige Seite
(Seite 1 von 1, insgesamt 2 Einträge)
nächste Seite »








