Kleine und große Linux AHAs
Veraltete Einträge in .ssh/known_hosts
Ronny hat mir grade eine kleine Bash Funktion geschickt, die mir ab jetzt viel Nerven sparen wird:
Wenn ein Server neu installiert wird (passiert bei uns schon ab und zu) ändern sich auch die SSH Server Keys. Beim nächsten Versuch, sich per SSH auf die neu installierte Maschine zu verbinden, verweigert SSH Aufgrund der Sicherheitseinstellungen den Dienst.
Es war dann immer umständlich, die alten Keys aus der known_hosts zu löschen.
Mit der folgenden Funktion (eingebaut in die .bashrc) geht das recht flott.
Als Übergabe nur die Zeilennummer mitgeben, die bei der SSH Fehlermeldung steht:
function sshknownhosts {
if [ $1 ]; then
sed -i ${1}d ~/.ssh/known_hosts
sed -i ${1}d ~/.ssh/known_hosts
echo "Zeile ${1} geloescht"
else
echo "Bitte Zeilennummer angeben"
fi
}
Sehr feines sed Skript zum löschen einer Zeile in einer Textdatei.
Thx Ronny!
| Artikel drucken | Dieser Beitrag wurde von Sascha am 4. Mai 2009 um 15:43 veröffentlicht und unter ScriptHints abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst direkt zum Ende gehen und einen Kommentar hinterlassen. Pings ist momentan nicht möglich. |



vor 10 Monaten
ich hatte auch ein script geschrieben. dummerweise habe ich exakt(!) ssh-keygen -R emuliert
man müsste einfach mehr zeit zum manpages lesen haben.
servername dd:x schon geträumt hat, vor er ein unsinniges script geschrieben hat
danke commandline-Fu
-jojoo, der
vor 1 Jahr
cool, ein script schreiben obwohl ein binär befehl dafür existiert: ssh-keygen -R
dein script ist schneller, fehlertoleranter, huebscher oder hast du einfach zu viel zeit?
vor 1 Jahr
Danke für die Info.
Warum ich dafür das Script geschrieben habe? Hmmm… Die Wahrscheinlichkeit ist wohl sehr hoch, dass mir Dein Tipp nicht bekannt war.
Ich bin trotzdem nicht traurig drum