Auf Mac und Linux ist SSH eingebaut - du benötigst keine zusätzliche Software. Die Terminal-Anwendung gibt dir direkten Zugang zu SSH und verwandten Tools. Bei Theory7 sehen wir, dass viele Entwickler und Systemadministratoren Mac oder Linux wegen dieser leistungsstarken Kommandozeilenmöglichkeiten verwenden. In diesem Handbuch erklären wir alles über SSH-Verbindungen.

Terminal öffnen

Auf macOS

Es gibt verschiedene Methoden, um das Terminal zu öffnen:

  • Spotlight: Drücke Cmd + Leertaste, tippe Terminal ein und drücke Enter.
  • Finder: Gehe zu Programme > Dienstprogramme > Terminal.
  • Launchpad: Suche nach Terminal im Launchpad.

Auf Linux

Je nach deiner Distribution gibt es verschiedene Möglichkeiten, das Terminal zu öffnen:

  • Ubuntu/Debian: Drücke Ctrl + Alt + T, um ein neues Terminal zu öffnen.
  • KDE: Suche nach Konsole im Anwendungsmenü.
  • GNOME: Suche nach Terminal im Anwendungsmenü.
  • Allgemein: Suche im Anwendungsmenü nach Terminal.

Basis SSH Verbindung

Die einfachste Möglichkeit, eine SSH-Verbindung herzustellen, ist die Verwendung des folgenden Befehls:

ssh benutzername@server

Beispiel:

ssh john@example.com

Mit spezifischem Port

Bei Theory7 verwenden wir Port 7777 für zusätzliche Sicherheit. Dies kann einfach mit der folgenden Syntax gemacht werden:

ssh benutzername@server -p 7777

Mit IP-Adresse

Wenn du den Server über eine IP-Adresse ansprechen möchtest, verwende den folgenden Befehl:

ssh benutzername@123.45.67.89 -p 7777

SSH Keys generieren

SSH-Keys sind sicherer als Passwörter und erleichtern und sichern die Verbindung zu Servern. Die Verwendung von SSH-Keys verhindert, dass du ständig dein Passwort eingeben musst.

Ed25519 Key erstellen (empfohlen)

Der Ed25519 Key ist die empfohlene Option aufgrund seiner starken Sicherheit und Geschwindigkeit:

ssh-keygen -t ed25519 -C "deine@email.nl"

Du wirst aufgefordert, einige Entscheidungen zu treffen:

  1. Standort: Drücke Enter, um den Standardstandort (~/.ssh/id_ed25519) zu verwenden.
  2. Passphrase: Dies ist ein optionales Passwort für zusätzliche Sicherheit deines privaten Schlüssels.

RSA Key erstellen (ältere Systeme)

Wenn du mit älteren Systemen arbeitest, die Ed25519 nicht unterstützen, kannst du einen RSA Key erstellen:

ssh-keygen -t rsa -b 4096 -C "deine@email.nl"

Keys anzeigen

Um deine generierten Keys anzuzeigen, verwende den folgenden Befehl:

ls -la ~/.ssh/

Du siehst die folgenden Dateien:

  • id_ed25519 - Dies ist dein privater Schlüssel (diesen solltest du niemals teilen!).
  • id_ed25519.pub - Dies ist dein öffentlicher Schlüssel (diesen darfst du mit anderen teilen).

Öffentlichen Schlüssel auf den Server kopieren

Um eine Verbindung zu einem Server über SSH herzustellen, musst du deinen öffentlichen Schlüssel auf den Server kopieren. Dies kann auf verschiedene Arten geschehen:

Methode 1: ssh-copy-id (einfachste)

Die einfachste Möglichkeit, deinen öffentlichen Schlüssel zu kopieren, ist mit dem ssh-copy-id Befehl:

ssh-copy-id -i ~/.ssh/id_ed25519.pub benutzer@server -p 7777

Dieser Befehl kopiert deinen öffentlichen Schlüssel automatisch auf den Server und fügt ihn der authorized_keys Datei hinzu.

Methode 2: Manuell

Wenn ssh-copy-id nicht funktioniert, kannst du es manuell machen:

  1. Zeige deinen öffentlichen Schlüssel mit:
  2. cat ~/.ssh/id_ed25519.pub
  3. Kopiere die Ausgabe des Befehls.
  4. Logge dich mit deinem Passwort auf dem Server ein.
  5. Füge den öffentlichen Schlüssel zu ~/.ssh/authorized_keys hinzu:
  6. echo "dein-öffentlicher-schlüssel-hier" >> ~/.ssh/authorized_keys
  7. Überprüfe, ob die Dateiberechtigungen korrekt eingestellt sind:
  8. chmod 600 ~/.ssh/authorized_keys
  9. Logge dich aus und versuche erneut, dich mit SSH einzuloggen.

Methode 3: Über DirectAdmin

Wenn du einen Hosting-Anbieter verwendest, der DirectAdmin unterstützt, kannst du deinen öffentlichen Schlüssel auch über die Schnittstelle importieren:

  1. Logge dich in DirectAdmin ein.
  2. Gehe zu SSH Keys.
  3. Klicke auf Key importieren.
  4. Füge deinen öffentlichen Schlüssel in das dafür vorgesehene Feld ein.
  5. Autorisiere den Schlüssel.

Mit SSH Key verbinden

Nach der Installation deines Schlüssels kannst du dich mit dem Server verbinden, ohne dein Passwort eingeben zu müssen:

ssh -i ~/.ssh/id_ed25519 benutzer@server -p 7777

Wenn du den Standard-Schlüssel verwendest, kannst du den Befehl vereinfachen:

ssh benutzer@server -p 7777

SSH config für schnellere Verbindungen

Um die Verbindung zu verschiedenen Servern zu erleichtern, kannst du eine SSH-Konfigurationsdatei erstellen:

nano ~/.ssh/config

Füge die folgende Konfiguration hinzu:

Host meinserver
    HostName deinedomain.de
    User benutzername
    Port 7777
    IdentityFile ~/.ssh/id_ed25519

Host theory7
    HostName server.theory7.net
    User meinbenutzer
    Port 7777
    IdentityFile ~/.ssh/id_ed25519

Jetzt kannst du einfach verbinden mit:

ssh meinserver

Oder:

ssh theory7

Dateien übertragen

Mit SSH kannst du auch einfach Dateien zwischen deinem lokalen Rechner und dem Server übertragen. Dies kann auf verschiedene Arten geschehen:

SCP (Secure Copy)

Um eine Datei auf den Server hochzuladen, verwende:

scp -P 7777 lokaldatei.txt benutzer@server:/pfad/zum/ziel/

Um eine Datei vom Server herunterzuladen, verwende:

scp -P 7777 benutzer@server:/pfad/zur/datei.txt ./lokal/

Um einen gesamten Ordner hochzuladen, verwende:

scp -P 7777 -r lokalordner benutzer@server:/pfad/zum/ziel/

SFTP interaktive Sitzung

Für eine interaktive Sitzung mit dem Server kannst du SFTP verwenden:

sftp -P 7777 benutzer@server

Hier sind einige nützliche SFTP-Befehle:

  • ls - Zeigt die Dateien im aktuellen Verzeichnis an.
  • cd - Ändert das Verzeichnis.
  • get datei - Lädt eine Datei vom Server herunter.
  • put datei - Lädt eine Datei auf den Server hoch.
  • exit - Schließt die SFTP-Sitzung.

rsync für effiziente Synchronisation

Rsync ist ein leistungsstarkes Werkzeug zum Synchronisieren von Dateien und Ordnern. Es ist effizient, da es nur geänderte Dateien kopiert:

rsync -avz -e "ssh -p 7777" ./lokal/ benutzer@server:/remote/

SSH-Agent für Schlüsselverwaltung

Um zu vermeiden, dass du ständig deine Passphrase eingeben musst, kannst du einen SSH-Agenten verwenden:

Agent starten

Starte den SSH-Agenten mit dem folgenden Befehl:

eval "$(ssh-agent -s)"

Key hinzufügen

Füge deinen SSH-Key zum Agenten hinzu:

ssh-add ~/.ssh/id_ed25519

Auf macOS kannst du den Schlüssel im Schlüsselbund speichern, sodass du ihn nicht jedes Mal eingeben musst:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Fehlerbehebung

Wenn du Probleme beim Verbinden mit SSH hast, sind hier einige häufige Fehlermeldungen und Lösungen:

Permission denied (publickey)

  • Überprüfe, ob dein öffentlicher Schlüssel korrekt auf dem Server installiert ist.
  • Überprüfe die Dateiberechtigungen deines privaten Schlüssels mit:
  • chmod 600 ~/.ssh/id_ed25519

Connection refused

  • Überprüfe, ob du den richtigen Port verwendest.
  • Überprüfe, ob der Server erreichbar ist, indem du einen Ping-Test durchführst:
  • ping server

Host key verification failed

  • Dies kann bedeuten, dass der Server-Schlüssel geändert wurde, was auf ein Sicherheitsproblem hinweisen kann.
  • Wenn du sicher bist, dass die Änderung legitim ist, kannst du den alten Schlüssel mit:
  • ssh-keygen -R server

Verwandte Artikel

Brauchst du Hilfe?

Wir sind für dich da! Hast du ein Problem oder Fragen? Unser Support-Team hilft dir gerne persönlich weiter. Schicke uns eine Nachricht über das Ticketsystem - wir antworten normalerweise innerhalb weniger Stunden und denken gerne mit dir mit.