Gehaxelts Blog

IT-Security & Hacking

Einfach per SSH anmelden

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
Generating public/private dsa key pair.
Enter file in which to save the key (/home/gehaxelt/.ssh/id_dsa): server1
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in server1.
Your public key has been saved in server1.pub.
The key fingerprint is:
2e:88:7b:b0:c2:c5:39:d8:be:83:92:b5:5c:e4:ed:d6 gehaxelt@Kriemel
The key's randomart image is:
+--[ DSA 1024]----+
|                 |
|                 |
|                 |
|    .            |
|  +o..  S        |
| .oBo...         |
|.+==o....        |
|+o++. o.E        |
|...oo.           |
+-----------------+

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

Texttutorials

« Neuer Passwordgenerator SQL Injection in Apps »