Wer viele Server im Internet verwaltet, möchte das sicher machen. Mit sicher heißt nicht nur mit Benutzernamen root und einem Passwort – nein, das heißt viel mehr. Die Sprache ist von der Authentifizierung mittels Public Key.
Publik Key Methode
In diesem Guide werden wir nicht auf die Technik von Public Key Verfahren eingehen. Der Fokus liegt darauf, wie es möglich ist, mehrere Key zu verwalten – weil man möchte ja nicht für jeden Server den gleichen Key verwenden.
Im Grunde führen mehrere Wege nach Rom. Ich habe mehrere bereits versucht bzw. verglichen. Schlussendlich habe ich mich für diese Lösung mittels Skript entschieden. Der Vorteil war mir ganz klar: Ich bin viel auf verschiedenen Rechnern unterwegs. Mit einem einfachen Bash Skript muss ich nur das File übertragen und nicht kompliziert Konfigurationsdateien von SSH teilen.
Das Skript
Der Aufbau gestaltet sich relativ einfach. Hier das Skript:
#!/bin/bash
server="12.34.56.78"
port="1234"
# Hier den Private Key einfügen
private_key=$(cat <<EOF
-----BEGIN OPENSSH PRIVATE KEY-----
<Private Key>
-----END OPENSSH PRIVATE KEY-----
EOF
)
keyfile=$(mktemp)
echo "$private_key" > "$keyfile"
ssh -i "$keyfile" -p "$port" root@"$server"
rm -f "$keyfile"
exit 0
Ist das alles? Ja. Du musst nur noch die Server IP, dein Port und den Key einfügen. Mehr nicht!
Kleinigkeiten
Hast du das Skript kopiert und auf deine Bedürfnisse angepasst, dann musst du nur jenem nur noch die richtigen Rechte zuweisen und testen.
chmod 700 server-xy.sh
Jetzt nur noch testen!
./server-xy.sh