#
**Hinweis:** Dieser Artikel geht davon aus, dass ihr euch bereits einen Fachbereichs-Account unter https://portal.mi.fu-berlin.de erstellt habt. Wenn das nicht der Fall sein sollte, könnt ihr euch einfach mit eurem Uni-Account da anmelden, dann wird der automatisch erstellt.

##
1. SSH-keys erstellen:

Hierfür öffnet ihr ein Terminal eurer Wahl auf einem Betriebssystem eurer Wahl.
Im geöffneten Terminal gebt ihr das folgende ein:
```
ssh-keygen -t ed25519
```
Dies erstellt euch, zumindest sofern ihr OpenSSH installiert habt, einen SSH-Key mit Typ ed25519. Den braucht ihr, um euch auf Geräten per SSH einloggen zu können, auch wenn diese Geräte den Passwort-Zugang per SSH abgeschaltet haben. \
Während der Erstellung werden euch einige Fragen gestellt.
```
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/<username>/.ssh/id_ed25519):
```
Hier werdet ihr gefragt, wohin ihr euren Key speichern wollt. Meistens ist der default okay. Ihr könnt den Key später noch verschieben.\
\
Wenn ihr euch den Rechner mit anderen Personen teilt, solltet ihr die Frage nach der Passphrase 
```
Enter passphrase (empty for no passphrase):
```
nicht einfach mit Enter wegklicken, sondern euch eine Passphrase für den Schlüssel ausdenken (und auch Merken/Aufschreiben!).

Zum Schluss wird euch noch ein nettes Bild (wie unten) angezeigt.
```
The key's randomart image is:
+--[ED25519 256]--+
|+E.       +      |
|.=     . + o     |
|+.o   . . +      |
|o= . +   +       |
|+ X O   S        |
|.* # o           |
|o O.O            |
|+. Ooo           |
|o..+*.           |
+----[SHA256]-----+
```
Ihr müsstet jetzt im angegebenen Ordner zwei Dateien sehen: id_ed25519 und id_ed25519.pub \
Die Datei OHNE .pub am Ende gebt ihr NIEMALS weg. Die .pub gebt ihr wohin ihr wollt.

So, jetzt habt ihr euch erfolgreich einen SSH-Key erstellt. \
Aber was macht man nun damit?

2. Den SSH-Key auf Andorra oder San Marino hinterlegen

Dafür müsst ihr einmal (zumindest virtuell per ZEDAT-VPN, siehe https://www.zedat.fu-berlin.de/Tip4U_VPN) im Netzwerk der FU Berlin sein.

Euren SSH-Key kopiert ihr auf Andorra, indem ihr auf einem Unix-System (alles außer Windows) das folgende ausführt:
```
ssh-copy-id -i ~/.ssh/id_ed25519 <euer Zedat-Nutzername>@andorra.imp.fu-berlin.de
```
jetzt müsst ihr einmal das Passwort eures Zedat-Accounts eingeben und ihr könnt zu 3. springen.\

Auf einem Windows geht das (Stand 06/2024) nicht so einfach. Ihr müsst euch hier einmal die .pub Datei anzeigen lassen (z.B. mit Editor) und den Inhalt kopieren. Danach loggt ihr euch mit 
```
ssh <euer Zedat-Nutzername>@andorra.imp.fu-berlin.de
```
auf Andorra ein und führt dort das Folgende aus:
```
mkdir -p ~/.ssh/
nano ~/.ssh/authorized_keys
```
Dort fügt ihr nun den Inhalt eurer .pub-Datei ein.
Jetzt solltet ihr auch hier fertig sein und zu 3. gehen können

3. Wie verwende ich den SSH-Key nun?

Den SSH-Key könnt ihr nun in Ruhe lassen. \
Stattdessen habt ihr jetzt zwei Varianten, um euch auf Andorra oder San Marino einzuloggen: \
3.1 
```
ssh <euer Zedat-Nutzername>@andorra.imp.fu-berlin.de -i ~/.ssh/id_ed25519
```
3.2 eine SSH-Config

Eure SSH-Config schreibt ihr, indem ihr die Datei unter ``` ~/.ssh/config ``` (die auf eurem eigenen Rechner) bearbeitet. Konkret müsst ihr das folgende an eure Bedürfnisse anpassen:
Andorra:
```
Host andorra
HostName andorra.imp.fu-berlin.de
User <euer Zedat-Nutzername>
IdentityFile ~/.ssh/id_ed25519
```
San Marino:
```
Host sanmarino
HostName sanmarino.imp.fu-berlin.de
User <euer Zedat-Nutzername>
IdentityFile ~/.ssh/id_ed25519
```
Falls ihr euch bei den Compute-Nodes am Fachbereich einloggen wollt, könnt ihr auch die folgende Config auf **Andorra oder San Marino** benutzen (für jeden Server immer den Namen anpassen):
```
Host compute01
HostName compute01.imp.fu-berlin.de
User <euer Zedat-Nutzername>
IdentityFile ~/.ssh/id_ed25519
```
Wenn ihr euch nicht immer erst auf andorra anmelden wollt, könnt ihr auch einfach das folgende auf eurem eigenen Laptop nehmen (wieder für jeden Server anpassen):
```
Host compute01
HostName compute01.imp.fu-berlin.de
ProxyJump andorra
User <euer Zedat-Nutzername>
IdentityFile ~/.ssh/id_ed25519
```
Supi! Jetzt solltet ihr fertig sein und euch von zuhause, oder wo auch immer, aus auf Andorra oder San Marino verbinden können!<br>
Eure ssh-config wird übrigens auch auf die Pool-Rechner synchronisiert. Ihr müsst da also nicht noch extra eigene Keys erstellen.