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:
- Speicherort: Standard ist
~/.ssh/id_rsa
unter Linux/macOS bzw.C:\Users\<Benutzername>\.ssh\id_rsa
unter Windows. - 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:
- Öffentlichen Schlüssel anzeigen:
cat ~/.ssh/id_rsa.pub
- 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:
- PuTTYgen starten (Teil des PuTTY-Pakets)
- Den privaten Schlüssel (
id_rsa
) importieren - In das PPK-Format exportieren
In PuTTY oder WinSCP wird der Schlüssel dann unter Connection → SSH → Auth eingebunden.
Schreibe einen Kommentar