Kleines Skript zur SSH-Schlüsselverwaltung

Moin,

wenn man bei größeren Installationen SSH-Schlüssel tauschen muss, kann das ziemlich frickelig werden. Daher habe ich gerade mal ein kleines Skript gebaut, dass das tut:

$ ./keyputter.sh 
This tool adds or removes public ssh keys from multiple hosts.

Usage: $0 [-a public_keyfile|-d public_keyfile]... host [host]...

Liegt hier: tools/keyputter.sh at master · FreiFunkMuenster/tools · GitHub

Es können beliebig viele Hosts angesprochen, Schlüssel hinzugefügt oder entfernt werden. Einfach die Optionen -a und -d mehrfach verwenden. Die Reihenfolge der Parameter sollte auch egal sein.

Vielleicht kann es mal jemand brauchen. Benutzung auf eigene Gefahr.

Grüße
Matthias

2 Likes

Das Parsen der Resultate und die Wiederaufnahme der restlichen könnte noch spannender werden.
Aber immer noch besser als totale Handarbeit.

Danke.

Wie meinst du das genau?

Wenn einzelne Hosts gerade nicht erreichbar sind und das Script nach zwei erfolgreichen Sites bei der dritten Site bei Router 16 von 23 abbricht.
Und dann die ssh-Verbindung stirbt man und man nicht im Screen war.

Wenn man per SSH größere Aktionen macht, sollte man immer screen oder tmux verwenden.

Du kannst die Ausgabe auch leicht in eine Datei schreiben lassen, indem du 2&>> Dateiname an das Skript anhängst.

Eventuell könnte man das noch direkt als Kommandozeilenparameter einbauen, falls Interesse besteht.

Grüße
Matthias

1 Like