Skip to main content

Command Palette

Search for a command to run...

Mein Weg zum Self-Hosting: Teil 1 - VPS und SSH Key

Updated
3 min read
Mein Weg zum Self-Hosting: 
Teil 1 - VPS und SSH Key
N
I'm a Full-Stack Web Developer and enthusiastic nature photographer from Switzerland.

Diesen Artikel gibt es auch auf Englisch (English).

Wer mehrere kleine Web-Apps und Hobby-Projekte entwickelt, stösst schnell auf ein finanzielles Problem: bezahlt man für jedes Projekt ein separates Hosting oder einen PaaS-Dienst (Platform as a Service) wie Heroku oder Render, summieren sich die monatlichen Fixkosten sehr schnell.

Deshalb möchte ich für meine kleinen Projekte einen eigenen VPS haben, über den ich die volle Kontrolle habe und so viele Apps wie ich will laufen lassen kann ohne zusätzlichen Kosten (solange RAM und die CPU ausreichen 😉).

VPS Lite

Ich entscheide mich zum Starten für VPS Lite vom Schweizer Anbieter Infomaniak. VPS Lite steht für "Virtual Private Server Lite" und ist einfach eine kostengünstige, abgespeckte Version eines virtuellen privaten Servers. Ein weiterer Grund, warum ich diesen Anbieter gewählt habe ist, dass ihre Server zu 100% in eigenen Schweizer Rechenzentren gehostet werden.

Nach Abschluss der Bestellung muss ich mich nur noch für ein Betriebssystem entscheiden (ich habe mich für Ubuntu entschieden) und kurz abwarten bis die Installation durch ist.

SSH Key

Für die Verbindung zu meinem Server brauche ich einen SSH Key (ein sicheres Schlüsselpaar). Diesen erstelle ich über das Terminal (ich nutze einen Mac):

ssh-keygen -t ed25519 -C "vps" -f ~/.ssh/vps

ssh-keygen: steht für "SSH Key Generator" und startet das Programm um die Schlüssel zu erstellen

-t ed25519: hiermit wird der Verschlüsselungs-Algorithmus bestimmt

-C "vps": fügt ein Kommentar hinzu, damit ich später weiss, wofür die Schlüssel sind

-f ~/.ssh/vps: bestimmt den Ordner und den Dateinamen unter dem die Schlüssel gespeichert werden

Es werden zwei Dateien generiert:

  • vps (der private Schlüssel): das ist wie ein Hausschlüssel, der bleibt auf meinem eigenen Computer und niemand anders darf diesen Schlüssel jemals sehen

  • vps.pub (der öffentliche Schlüssel): das ist das Schloss, das auf dem VPS hinterlegt wird

Jedes Mal, wenn ich mich einlogge, prüft der Server mit diesem Schloss, ob mein Computer den passenden privaten Schlüssel besitzt.

Der Infomaniak-Vorteil: normalerweise müsste man dieses Schloss jetzt mühsam per Befehl auf den Server hochladen. Infomaniak macht uns das Leben aber leichter, denn ich kann den Inhalt der vps.pub-Datei einfach kopieren und direkt im Web-Interface von Infomaniak beim Server hinterlegen. Das System baut das Schloss dann automatisch für mich ein.

Verbindung aufbauen

Im Terminal kann ich nun die Verbindung wie folgt herstellen:

ssh -i [key_path] [user]@[server_IP]

Das sieht in der Praxis beispielsweise so aus:

ssh -i ~/.ssh/vps ubuntu@123.45.67.89

ssh: startet das Protokoll für die sichere Verbinung

-i ~/.ssh/vps das -i steht für "Identity File", hier gibt man den Pfad zum privaten SSH-Schlüssel auf dem lokalen Computer an

ubuntu: der Standard-Benutzername, den Infomaniak für das gewählte Betriebssystem eingerichtet hat

123.45.67.89: die IP-Adresse des VPS Lite (diese findet man im Infomaniak Dashboard unter "Vorgehen beim Start")

Tipp für Faule 😉

Damit man diesen langen Befehl nicht jedes Mal eintippen muss, um sich mit dem Server zu verbinden, kann man Abkürzungen in einer lokalen Datei anlegen.

Mit diesem Befehl wird die Datei erstellt:

touch ~/.ssh/config

Und dann in der Datei folgendes hinterlegen:

Host vps
    HostName 123.45.67.89
    User ubuntu
    IdentityFile ~/.ssh/vps
    IdentitiesOnly yes

Wenn man sich mit einem Server verbindet, versucht SSH nacheinander alle Schlüssel aus, die in dem ~/.ssh-Ordner liegen oder im Hintergrund geladen sind, bis einer funktioniert. IdentitiesOnly yes verhindert das, indem sofort der eine richtige Schlüssel gesendet wird.

Jetzt kann ich mich im Terminal ganz einfach mit dem Befehl ssh vps mit meinem VPS verbinden.

Wie geht's weiter?

Die erste Verbindung steht! 🎉 Der Server läuft, ist aber noch komplett "nackt". Im nächsten Teil werde ich den Server absichern und eine Firewall einrichten.

Mein Weg zum Self-Hosting

Part 1 of 2

Diese Blogserie begleitet meinen Weg zum Self-Hosting. Ich zeige, wie ich einen günstigen Schweizer VPS Lite einrichte, absichere und so konfiguriere, dass ich beliebig viele Apps und Webseiten parallel darauf betreiben kann.

Up next

Mein Weg zum Self-Hosting: Teil 2 - Server absichern

Im letzten Artikel habe ich den VPS Lite Server von Infomaniak eingerichtet und mich über SSH eingeloggt. Der Server läuft, aber ein frischer Server ist wie eine offene Haustür, jeder kann versuchen e

More from this blog

N

Nathalie's Notizbuch

2 posts

Willkommen in meinem Lernnotizbuch! Hier halte ich meine persönlichen Erkenntnisse, Schritt-für-Schritt-Anleitungen und verständliche Erklärungen fest. Mein Ziel ist es, Gelerntes strukturiert zu teilen und komplexe Themen einfach greifbar zu machen.