Linux Administrator Guide: Per SSH auf einen Remote-Server einloggen (System Engineer Tutorial)

Melden

Herzlich willkommen zu Teil 3 der Reihe für angehende Linux-Administratoren und System Engineers. In diesem Tutorial lernst du die absolute Grundlage der Remote-Verwaltung: wie du dich sicher über das Netzwerk mittels SSH (Secure Shell) mit einem Linux-Server verbindest.

Als System Engineer ist das Terminal dein wichtigstes Werkzeug – und SSH ist die Brücke zu deiner Infrastruktur.


1. Was ist SSH und warum nutzen wir es?

SSH steht für Secure Shell. Es ist ein kryptografisches Netzwerkprotokoll, das genutzt wird, um eine verschlüsselte Verbindung zwischen einem Client (deinem Rechner) und einem Server aufzubauen.

Standardmäßig läuft SSH über Port 22 (TCP). Alle übertragenen Daten – einschließlich Passwörter und eingegebene Befehle – sind vollständig verschlüsselt.


2. Voraussetzungen

Bevor es losgeht, benötigst du folgende Informationen über deinen Zielserver:

  • Die IP-Adresse oder den Domainnamen (FQDN) des Servers (z. B. 192.168.1.50 oder server01.example.com).
  • Einen gültigen Benutzernamen auf dem Server.
  • Das zugehörige Passwort (oder einen SSH-Key).
  • Ein Terminal auf deinem lokalen Rechner (Linux/macOS Terminal oder Windows PowerShell).

3. Der Standard-Login (Passwort-basiert)

Die grundlegende Syntax für den Verbindungsaufbau lautet:

ssh benutzername@ip-adresse

Beispiel:

Du möchtest dich als Benutzer sysadmin auf dem Server mit der IP 192.168.1.50 anmelden:

ssh sysadmin@192.168.1.50

Der "Host Key Fingerprint" (Wichtig beim ersten Login)

Verbindest du dich zum ersten Mal mit einem Server, erscheint eine Sicherheitsmeldung:

The authenticity of host '192.168.1.50 (192.168.1.50)' can't be established.
ED25519 key fingerprint is SHA256:abcd1234...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
  • Bedeutung: Dein Client kennt den Server noch nicht und fragt, ob du dem Server vertraust (Schutz vor Man-in-the-Middle-Angriffen).
  • Aktion: Tippe yes ein und drücke Enter.
  • Der Server wird nun in deiner lokalen Datei ~/.ssh/known_hosts gespeichert.
  • Gib danach das Passwort des Remote-Benutzers ein (Hinweis: Bei der Eingabe werden im Terminal keine Sternchen angezeigt).

4. SSH über einen abweichenden Port

In Unternehmensumgebungen wird der Standard-Port 22 aus Sicherheitsgründen oft geändert, um automatisierte Angriffe zu reduzieren. Nutze den Parameter -p, um einen Port anzugeben:

ssh -p 2222 sysadmin@192.168.1.50

5. Profi-Methode: SSH-Key-Authentifizierung (Passwordless Login)

Als System Engineer nutzt man im Arbeitsalltag selten Passwörter, sondern SSH-Keys. Diese sind deutlich sicherer und ermöglichen Automatisierung (z. B. mit Ansible).

Schritt 1: Lokales Schlüsselpaar generieren (auf deinem PC)

Erstelle ein modernes und sicheres ED25519-Schlüsselpaar:

ssh-keygen -t ed25519 -C "admin@company.com"

Bestätige den Speicherort mit Enter und vergib optional eine Passphrase für zusätzlichen Schutz.

Schritt 2: Public Key auf den Server übertragen

Kopiere deinen öffentlichen Schlüssel mit dem Tool ssh-copy-id auf den Remote-Server:

ssh-copy-id sysadmin@192.168.1.50

Gib hier ein letztes Mal das Server-Passwort ein. Der Schlüssel wird auf dem Server in der Datei ~/.ssh/authorized_keys hinterlegt.

Schritt 3: Testen

Wenn du dich jetzt erneut verbindest, wirst du nicht mehr nach dem Benutzerpasswort gefragt:

ssh sysadmin@192.168.1.50

6. System Engineer Workflow: Die SSH-Config Datei

Ständig IP-Adressen, Ports und Nutzernamen zu tippen, ist ineffizient. Auf deinem lokalen Rechner kannst du dir Aliase anlegen.

Erstelle oder bearbeite die Datei ~/.ssh/config:

nano ~/.ssh/config

Füge folgenden Block ein:

Host webprod
    HostName 192.168.1.50
    User sysadmin
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Der Vorteil: Ab jetzt genügt dieser kurze Befehl, um dich mit allen definierten Parametern zu verbinden:

ssh webprod

7. Wichtige Sicherheits-Tipps für Administratoren

Wenn du einen neuen Linux-Server aufsetzt, solltest du serverseitig in der Datei /etc/ssh/sshd_config folgende Einstellungen prüfen:

  1. Root-Login verbieten: PermitRootLogin no (Verhindert, dass sich der Superuser direkt anmeldet; man loggt sich als normaler User ein und nutzt sudo).
  2. Passwort-Authentifizierung deaktivieren: PasswordAuthentication no (Erst aktivieren, wenn der SSH-Key-Login nachweislich funktioniert!).
  3. Dienst neu laden: Nach Änderungen immer den SSH-Daemon neu laden: sudo systemctl restart sshd

Zusammenfassung & Ausblick

Du hast gelernt:

  • Wie der Basis-Login per SSH funktioniert.
  • Was der Host-Key-Fingerprint bedeutet.
  • Wie du sichere SSH-Keys generierst und verteilst.
  • Wie du deine Produktivität mit der Datei ~/.ssh/config steigerst.

Im nächsten Teil unserer Administrator-Reihe widmen wir uns den Linux-Dateirechten und der Benutzerverwaltung auf dem Server.

0