Sicherlich hast du dich schon gefragt, wie du deinen Homeserver eigentlich bedienen sollst. Schließlich ist die Idee ja weiterhin ihn nach der Einrichtung in die Ecke zu stellen und physisch nicht mehr anzufassen.
Die Lösung hierfür lautet SSH.
Das Technische dahinter lasse ich hier mal außen vor und erkläre dir, wie du das Ganze einrichtest.
Falls du bereits meiner vorherigen Anleitung gefolgt bist, hast du bereits einen SSH-Server installiert.
Falls nicht, hier nochmal die Installation:
sudo apt install openssh-server
Zuerst musst du prüfen, ob du deinen Homeserver auch erreichen kannst.
Klicke auf die Windows-Taste und tippe Powershell ein. Wähle Windows Powershell (x64).
Halte STRG+ALT und drücke T um das Terminal zu öffnen.
Öffne Spotlight und tippe Terminal ein.
Die nächsten Schritte sollten auf allen Systemen gleich aussehen.
ping [IP-ADRESSE DES HOMESERVERS]
Die IP-Adresse findest du entweder in den Routereinstellungen oder in deinem Homeserver mitip a
ssh [NUTZERNAME]@[IP-ADRESSE]
y, um dich zu verbinden, und tippe dein Passwort einWenn das nun funktioniert hat, zeige ich dir einen kleinen Trick für einen angenehmeren Login und die erste Sicherheitshärtung.
Logge dich mit exit wieder aus und tippe folgendes ein:
ssh-keygen -t ed25519
Unter Linux/Mac tippe folgenden Pfad ein ~/.ssh/id_ed25519
Unter Windows sollte dieser Pfad schon ausgewählt sein.
Kleiner Hinweis: ~ ist die Abkürzung für das Nutzerverzeichnis, d.h. /home/[NUTZERNAME].
Optional: Gib ein starkes Passwort ein für etwas mehr Sicherheit.
Nun ziehen wir den gerade erstellten Schlüssel auf den Homeserver.
Logge dich noch einmal in deinen Homeserver ein und erstelle den Ordner .ssh:
mkdir ~/.ssh
Logge dich wieder aus und kopiere den erstellten Schlüssel auf deinen Homeserver:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [NUTZERNAME]@[IP-ADRESSE DES HOMESERVERS] "cat >> .ssh/authorized_keys"
Unter Linux und Mac geht das ganze in einem Schritt mit:
ssh-copy-id [NUTZERNAME]@[IP-ADRESSE DES HOMESERVERS]
Wenn du dich nun versuchst einzuloggen, sollte nicht mehr nach einem Passwort gefragt werden.
Das ist auch gut so, denn Passwörter sind grundsätzlich anfällig dafür geknackt zu werden. Das ist bei Schlüsseln extrem viel schwieriger.
Nun wiederholst du das für alle Geräte über die du deinen Homeserver steuern möchtest.
Als Nächstes entfernen wir die Möglichkeit, dass man sich via Passwort mit deinem Homeserver verbinden kann.
Dadurch haben nur noch die Geräte Zugriff, denen du das explizit erlaubt hast durch den Schlüssel.
Einstellungen auf deinem Homeserver bearbeitest du in nahezu 100% aller Fälle über Konfigurationsdateien.
Also, wir reden wirklich von Formaten wie .txt oder .docx Dateien, die als Text bearbeitet werden.
Die Konfigurationsdatei deines SSH-Servers findest du unter /etc/ssh/sshd_config.
Die Bearbeitung der Datei startest du mit:
sudo nano /etc/ssh/sshd_config
sudo lässt dich Befehle als Administrator (unter Linux root) ausführennano ist dein Programm zur TextbearbeitungNano ist etwas eigen, wenn man es nicht kennt:
STRG+O zum Speichern
STRG+X zum Verlassen der DateiLass dich nicht erschrecken, man kann sehr viel einstellen.
Wir machen jedoch nur einige kleine Änderungen.
Suche die hier genannten Zeilen und entferne das #, um die Einstellungen zu aktivieren. Solltest du eine Einstellung nicht finden, schreibe sie einfach dazu.
Suche nach PasswordAuthentication und setze es auf no.
Füge dann noch zwei Einstellungen hinzu:
PubkeyAuthentication yes
PermitRootLogin no
Also insgesamt sollte dann das dort stehen:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
Damit haben wir jetzt:
Nun den SSH-Server neustarten, damit die Änderungen aktiv werden:
sudo systemctl restart sshd
Teste das Ganze in einem zweiten Powershell- oder Terminal-Fenster, bevor du dich wieder ausloggst.
Sonst musst du bei einem Fehler deinen Homeserver doch nochmal aus der Ecke kramen.
Da Schlüssel sehr komplex berechnet werden, ist es quasi ausgeschlossen, dass sich jemand einloggt, ohne dass du davon weißt.
Und selbst wenn es jemand schafft, zumindest nicht als Administrator. Also könnte er nichts installieren und auch keine Systemdateien anfassen.
Weitere Sicherungsmaßnahmen zeige ich dir hier.