Wenn man sich von irgendwo auf seinem Server per SSH anmelden möchte, kommt zumeist die Frage nach einem Benutzernamen und einem Passwort.
Wenn man sich öfters verbinden muss, oder vom Smartphone kein vielstelliges Passwort eintippen möchte, kann man zu Auth-Keys greifen.
Als Server bezeichne ich in folgendem Tutorial den Server, auf dem man sich anmelden möchte.
1. Eigenen Key erstellen
Zunächst müssen wir uns ein Schlüsselpaar erstellen, mit welchem wir uns später am Server authentifizieren werden.
Dies geht über das Tool ssh-keygen:
ssh-keygen -t dsa
Man wird aufgefordert, einen Speicherort anzugeben. Diesen müsst ihr euch für später merken, bei mir als Beispiel einfach “~/.ssh/server1”, an.
Die beiden Passwortabfragen sollten nur mit Enter bestätigt werden, ansonsten muss man vor der Benutzung des Keys, diesen immer mit einem Passwort entsperren, und wir möchten ja keine Passwörter eingeben.
Das ganze sollte dann ungefähr so aussehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
2. Pubkey auf den Server
Im zweiten Schritt muss man den Inhalt des Pubkeys (server1.pub), welchen man im o.g. Ordner wiederfindet, in die ~/.ssh/authorized_keys auf dem Server eingetragen werden.
Dazu kann man einfach sich den Inhalt ausgeben lassen und dann entweder per CMD oder dem Editor seiner Wahl in die o.g. Datein ans Ende einzufügen.
cat ~/.ssh/server1.pub
Die paar Zeilen kopieren und auf dem Server dann per
echo [Inhalt] >> ~/.ssh/authorized_keys
ans Ende der entsprechenden Datei anfügen.
3. Der Login
Danach sollte man sich vom Clienten mit folgendem Befehl, ohne eine Eingabe eines Passwortes, am Server anmelden:
ssh -i ~/.ssh/server1 user@example.org
4. Vereinfachung
Um nicht immer den kompletten Befehl aus 3. angeben zu müssen, bearbeiten wir nun noch die ~/.bashrc :
echo "alias server1='ssh -i ~/.ssh/server1 user@example.org'" >> ~/.bashrc && . ~/.bashrc
Damit wird ein neuer Alias in der ~/.bashrc angelegt, welcher den Namen “server1” trägt und den kompletten ssh-Login repräsentiert. Außerdem wird die ~/.bashrc danach neugeladen, um die Änderungen wirksam zu machen.
Ihr könnt euch dann einfach mit dem Eintippen von “server1” zu eurem Server verbinden.
5. Warnung
Ihr solltet euch bewusst sein, dass jeder, welcher an den Rechner kommt, und dort den Befehl “server1” ausführt, dann ebenfalls zum Server verbunden wird, und diesen für seine Zwecke missbrauchen könnte.
Gruß
gehaxelt