SSH – Ein sichere Verbindung zum Server aufbauen

SSH (Secure Shell) ist eines der wichtigsten Werkzeuge, wenn es um den sicheren Zugriff auf entfernte Server oder Computer geht. Ob für Administration, Entwicklung oder private Projekte – SSH ermöglicht es, Verbindungen verschlüsselt und zuverlässig aufzubauen. In diesem Beitrag schauen wir uns an, wie man SSH unter Windows und Linux verwendet, welche Authentifizierungsmöglichkeiten es gibt und was man nach dem Login alles tun kann.

Was ist SSH?

SSH steht für Secure Shell und ist ein Netzwerkprotokoll, das eine sichere Kommunikation zwischen zwei Computern ermöglicht. Typische Einsatzgebiete:

Remote-Administration: Befehle auf einem entfernten Server ausführen

Dateiübertragung: Dateien sicher hoch- und herunterladen

Tunneling: Dienste und Verbindungen sicher weiterleiten

SSH verwendet standardmäßig Port 22 und verschlüsselt die gesamte Kommunikation, sodass Dritte nicht mitlesen können.

SSH von Windows aus

Unter Windows gibt es verschiedene Möglichkeiten, eine SSH-Verbindung aufzubauen:

1. Windows PowerShell oder Terminal

Seit Windows 10 ist SSH standardmäßig integriert.

Verbindung herstellen:

ssh benutzername@server-ip

2. PuTTY oder andere Clients

Diese Tools bieten eine grafische Oberfläche und erweiterte Funktionen, z. B. für das Schlüsselmanagement. Besonders praktisch, wenn man öfter verschiedene Server verwaltet.

SSH von Linux aus

Unter Linux ist SSH fast immer vorinstalliert. Falls nicht, kann es mit folgendem Befehl nachinstalliert werden:

sudo apt install openssh-client

Verbindung herstellen:

ssh benutzername@server-ip

Soll der Rechner selbst als SSH-Server dienen, benötigt man:

sudo apt install openssh-server

Passwort oder Key?

SSH bietet zwei Möglichkeiten, sich zu authentifizieren:

Passwort: Einfach, aber weniger sicher. Jeder Login erfordert das Passwort des Benutzers.

SSH-Key: Deutlich sicherer und komfortabler. Ein Schlüsselpaar besteht aus:

Privater Schlüssel (private key): Bleibt sicher auf deinem Rechner

Öffentlicher Schlüssel (public key): Wird auf den Server kopiert

Erstellen und übertragen lässt sich der Key so:

ssh-keygen

ssh-copy-id benutzername@server-ip

Anschließend ist die Anmeldung ohne Passwort möglich.

SSH-Schlüssel erstellen und sicher verwenden

SSH-Schlüssel sind der Standard, wenn es um eine sichere und bequeme Authentifizierung auf Servern geht. Im Gegensatz zur Anmeldung mit Passwörtern bieten sie ein höheres Sicherheitsniveau und ermöglichen den Zugriff ohne ständige Passworteingabe. In diesem Beitrag zeigen wir Schritt für Schritt, wie ein SSH-Schlüssel erstellt, auf den Server übertragen und für verschiedene Clients genutzt wird.

Warum SSH-Schlüssel?

Die Anmeldung mit einem Passwort ist zwar einfach, jedoch potenziell unsicher. Passwörter können abgefangen oder erraten werden.
Ein SSH-Schlüsselpaar besteht aus:

  • Privatem Schlüssel (private key): Bleibt ausschließlich auf dem eigenen Rechner und muss sicher aufbewahrt werden.
  • Öffentlichem Schlüssel (public key): Wird auf dem Server hinterlegt und dient zur Authentifizierung.

Der große Vorteil: Der private Schlüssel verlässt den eigenen Rechner nie, und nur wer diesen besitzt, erhält Zugang.

Erstellung des SSH-Schlüssels

Unter Linux, macOS oder in der Windows PowerShell genügt folgender Befehl:

ssh-keygen

Während der Erstellung werden mehrere Fragen gestellt:

  1. Speicherort: Standard ist ~/.ssh/id_rsa unter Linux/macOS bzw. C:\Users\<Benutzername>\.ssh\id_rsa unter Windows.
  2. Passphrase: Optional kann eine Passphrase gesetzt werden, um den Schlüssel zusätzlich zu schützen.

Nach Abschluss liegen zwei Dateien vor:

  • id_rsa – privater Schlüssel (geheim halten!)
  • id_rsa.pub – öffentlicher Schlüssel (für den Server)

Öffentlichen Schlüssel auf den Server übertragen

Am einfachsten gelingt dies mit:

ssh-copy-id benutzername@server-ip

Falls dieses Werkzeug nicht verfügbar ist, kann der Schlüssel manuell übertragen werden:

  1. Öffentlichen Schlüssel anzeigen: cat ~/.ssh/id_rsa.pub
  2. Den gesamten Inhalt in die Datei ~/.ssh/authorized_keys auf dem Server einfügen.

Wichtige Berechtigungen setzen:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Anmeldung mit SSH-Schlüssel

Nach erfolgreicher Übertragung reicht zukünftig:

ssh benutzername@server-ip

Die Passwortabfrage entfällt, sofern der private Schlüssel lokal verfügbar ist.

Komfortable Konfiguration

Um wiederholte Eingaben zu vermeiden, empfiehlt sich die Konfiguration in ~/.ssh/config:

Host meinserver
    HostName server-ip
    User benutzername
    IdentityFile ~/.ssh/id_rsa

Danach genügt für die Verbindung:

ssh meinserver

Nutzung unter Windows mit PuTTY und WinSCP

Viele Windows-Programme wie PuTTY oder WinSCP arbeiten nicht direkt mit OpenSSH-Schlüsseln. Hier ist eine Konvertierung in das PPK-Format erforderlich:

  1. PuTTYgen starten (Teil des PuTTY-Pakets)
  2. Den privaten Schlüssel (id_rsa) importieren
  3. In das PPK-Format exportieren

In PuTTY oder WinSCP wird der Schlüssel dann unter Connection → SSH → Auth eingebunden.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert