Grundlagen von Secure Shell (SSH)
Lernen Sie, sich sicher mit entfernten Linux-Rechnern zu verbinden, einschließlich schlüsselbasierter Authentifizierung und grundlegender SSH-Client-Konfiguration.
Grundlagen von Secure Shell (SSH) ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was ist Secure Shell (SSH)?
Willkommen bei den Grundlagen von Secure Shell (SSH)! SSH ist ein leistungsstarkes Netzwerkprotokoll, mit dem Sie über ein unsicheres Netzwerk eine sichere Verbindung zu einem entfernten Computer herstellen können.
Stellen Sie sich SSH als einen sicheren Tunnel für Ihre Befehle und Daten vor. SSH ist unverzichtbar für die Verwaltung von Linux-Servern und Cloud-Instanzen sowie für den Remotezugriff auf Ihre eigene Entwicklungsumgebung.
Warum SSH verwenden? Sicherheit geht vor!
Vor SSH waren Remoteverbindungen häufig unverschlüsselt. Dadurch konnte jeder Ihre Passwörter und Daten ausspionieren. SSH löst dieses Problem durch starke Verschlüsselung.
- Vertraulichkeit: Ihre Daten werden verschlüsselt und bleiben vor neugierigen Blicken verborgen.
- Integrität: Stellt sicher, dass Daten während der Übertragung nicht manipuliert werden.
- Authentifizierung: Überprüft die Identität von Client und Server.
SSH ist der Industriestandard für die Remoteverwaltung.
SSH: Client-Server-Modell
SSH arbeitet nach dem Client-Server-Modell. Sie als Benutzer führen auf Ihrem lokalen Computer einen SSH-Client aus. Dieser Client verbindet sich mit einem SSH-Server (oft `sshd` genannt), der auf dem entfernten Computer ausgeführt wird.
Wenn Sie eine Verbindung herstellen, führen Client und Server einen „Handshake“ durch, um einen sicheren, verschlüsselten Kanal einzurichten, bevor Daten ausgetauscht werden.
Grundlegender SSH-Verbindungsbefehl
Die grundlegendste Möglichkeit, über SSH eine Verbindung zu einem entfernten Server herzustellen, besteht darin, den Befehl ssh gefolgt von Benutzername und Host (IP-Adresse oder Hostname) zu verwenden.
Das Format lautet ssh username@hostname_or_IP. Um beispielsweise als Benutzer coddy eine Verbindung zu einem Server unter 192.168.1.100 herzustellen:
ssh coddy@192.168.1.100Erste Verbindung und Fingerprints
Wenn Sie zum ersten Mal eine Verbindung zu einem neuen Server herstellen, fordert SSH Sie auf, den „Fingerprint“ des Servers zu überprüfen. Dies ist eine eindeutige Kennung, die dazu beiträgt, Man-in-the-Middle-Angriffe zu verhindern.
Überprüfen Sie den Fingerprint nach Möglichkeit immer (fragen Sie beispielsweise den Serveradministrator). Wenn er übereinstimmt, geben Sie yes ein, um den Server in Ihre Datei ~/.ssh/known_hosts aufzunehmen.
SSH-Port und benutzerdefinierte Ports
SSH verwendet standardmäßig den TCP-Port 22. Aus Sicherheitsgründen konfigurieren Serveradministratoren SSH jedoch häufig so, dass es an einem anderen, nicht standardmäßigen Port lauscht.
Wenn der entfernte Server einen benutzerdefinierten Port verwendet (z. B. Port 2222), können Sie ihn mit der Option -p angeben:
ssh -p 2222 coddy@myremoteserver.comEinführung in die schlüsselbasierte Authentifizierung
Die Authentifizierung mit einem Passwort funktioniert zwar, aber die schlüsselbasierte SSH-Authentifizierung ist wesentlich sicherer und komfortabler. Sie verwendet ein Paar kryptografischer Schlüssel:
- Öffentlicher Schlüssel: Wird auf dem entfernten Server gespeichert.
- Privater Schlüssel: Wird sicher auf Ihrem lokalen Computer gespeichert.
Beim Verbindungsaufbau fordert der Server Ihren Client heraus. Dieser weist seine Identität mithilfe des privaten Schlüssels nach, ohne den privaten Schlüssel jemals über das Netzwerk zu senden.
SSH-Schlüsselpaare generieren
Sie können mit dem Befehl ssh-keygen ein SSH-Schlüsselpaar generieren. Sie werden aufgefordert, einen Speicherort für die Schlüssel anzugeben (standardmäßig ~/.ssh/id_rsa) und optional eine Passphrase festzulegen.
Eine Passphrase bietet eine zusätzliche Sicherheitsebene für Ihren privaten Schlüssel. Sie wird dringend empfohlen!
ssh-keygen -t rsa -b 4096Öffentlichen Schlüssel kopieren
Sobald Sie ein Schlüsselpaar haben, müssen Sie Ihren öffentlichen Schlüssel auf den entfernten Server kopieren. Am einfachsten geht das mit ssh-copy-id. Dieser Befehl meldet Sie zunächst mit Ihrem Passwort am entfernten Server an und fügt anschließend Ihren öffentlichen Schlüssel zur Datei ~/.ssh/authorized_keys hinzu.
Danach können Sie sich mit Ihrem Schlüssel statt mit einem Passwort verbinden!
ssh-copy-id coddy@myremoteserver.comSchnelltest: SSH-Grundlagen
Welche der folgenden Aussagen über SSH sind richtig?
Zusammenfassung: SSH-Grundlagen
In dieser Lektion haben Sie die Grundlagen von Secure Shell (SSH) gelernt!
- SSH ermöglicht einen sicheren, verschlüsselten Remotezugriff.
- SSH arbeitet nach dem Client-Server-Modell und verwendet normalerweise Port 22.
- Sie können mit
ssh user@hosteine Verbindung herstellen. - Die schlüsselbasierte Authentifizierung mit öffentlichen und privaten Schlüsselpaaren (generiert mit
ssh-keygenund kopiert mitssh-copy-id) bietet eine höhere Sicherheit als Passwörter.
Als Nächstes sehen wir uns noch leistungsstärkere Netzwerkbefehle und Werkzeuge zur Dateiübertragung an!
Häufig gestellte Fragen
Ist die Lektion „Grundlagen von Secure Shell (SSH)“ kostenlos?
Ja — der vollständige Text von „Grundlagen von Secure Shell (SSH)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Grundlagen von Secure Shell (SSH)“?
Lernen Sie, sich sicher mit entfernten Linux-Rechnern zu verbinden, einschließlich schlüsselbasierter Authentifizierung und grundlegender SSH-Client-Konfiguration. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Grundlagen von Secure Shell (SSH)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlegende Netzwerktools (ping, ip, netstat)
- Grundlagen von Secure Shell (SSH)
- SCP und Rsync für Dateiübertragungen
- SSH-Schlüsselauthentifizierung und die Konfigurationsdatei