Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sichere Remote-Verbindungen mit SSH: Kurzanleitung für GitHub #511

Open
wants to merge 195 commits into
base: edltests
Choose a base branch
from

Conversation

sophie4075
Copy link

About SSH

Das SSH-Protokoll (Secure Shell) ist eine Methode, um Befehle sicher über ein unsicheres Netzwerk an einen Computer zu senden. Es verwendet hierfür Kryptographie zur Authentifizierung und Verschlüsselung von Verbindungen zwischen Geräten.
SSH wird häufig zur Fernsteuerung von Servern, zur Verwaltung der Infrastruktur und zur Übertragung von Dateien verwendet. Mithilfe von SSH kannst du, zum Beispiel, auf Daten in GitHub-Repositories zugreifen und diese bearbeiten.
SSH ermöglicht auch das Tunneln oder Weiterleiten von Ports, das heißt, Datenpakete können Netzwerke durchqueren, die sonst nicht passieren können.
Weiter Informationen über SSH findest du auf GitHub und Cloudflare

Einen SSH Key für GitHub generieren (Mac & Windows)

Du kannst einen neuen SSH-Schlüssel auf deinem lokalen Rechner erstellen. Nachdem du den Schlüssel generiert hast, fügst du den öffentlichen Schlüssel zu deinem GitHub-Konto hinzu. Dies ermöglicht die Authentifizierung für Git-Operationen über SSH.

Bevor du Deinem SSH-Agent einen neuen Key hinzufügst solltest Du überprüfen, ob nicht bereits ein Key vorhanden ist

ls -al ~/.ssh

Wenn du Dateien wie id_rsa.pub, id_ecdsa.pub oder id_ed25519.pub siehst, dann hast du bereits einen SSH-Schlüssel.

Ist kein Schlüssel vorhanden, füge den Command im Terminal ein, ersetze die example Email mit der E-Mail-Adresse, die du auch für GitHub verwendest

ssh-keygen -t ed25519 -C "[email protected]"

Wenn Ed25519 nicht unterstützt wird, verwende:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Wenn du aufgefordert wirst, "Enter a file in which to save the key" einzugeben, kannst du die Eingabetaste drücken, um den Key am Standart Ablageort für SSH - Keys zu sichern.
Anschließend wirst du aufgefordert einen Passphrase einzugeben (ähnlich wie ein Passwort, sollte jedoch aus einer größeren Anzahl von Zeichen bestehen).

Wieso Passphrase?
"Wenn Angreifer*innen Zugriff auf deinen Computer erlangen, können sie mit SSH-Schlüsseln zudem auf jedes System zugreifen, das diese Schlüssel verwendet. Als zusätzliche Sicherheitsebene kannst du deinem SSH-Schlüssel eine Passphrase beifügen. Um die Passphrase nicht bei jeder Verbindungsherstellung eingeben zu müssen, kannst du deine Passphrase im SSH-Agent sicher speichern." Mehr Info

SSH Key dem SSH-Agent hinzufügen

Der SSH-Agent sorgt dafür, dass die Passphrase zu einem Schlüssel nicht bei jeder Verbindung neu eingegeben werden muss. So kannst du ihn hinzufügen:

macOS
# SSH-Agent Starten
eval "$(ssh-agent -s)"

Wenn du macOS Sierra 10.12.2 oder später nutzt, musst du deine ~/.ssh/config-Datei anpassen, um Schlüssel automatisch in den SSH-Agent zu laden und Passphrasen im Schlüsselbund zu speichern. Bitte checke hierfür die GitHub Dokumentation

# Schlüssel dem Agent hinzufügen
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Ersetze id_ed25519 durch den Namen deiner Schlüsseldatei, falls du einen anderen Namen verwendet hast.

Windows
# SSH-Agent Starten
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
# Schlüssel dem Agent hinzufügen
ssh-add c:/Users/YOU/.ssh/id_ed25519

Ersetze id_ed25519 durch den Namen deiner Schlüsseldatei, falls du einen anderen Namen verwendet hast.

Füge anschließend den Public Key deinem GitHub Account hinzu.

  1. Gehe hierzu auf dein GitHub Profil und gehe anschließend auf Einstellungen
  2. Klicke im Abschnitt „Zugriff“ der Seitenleiste auf SSH- und GPG-Schlüssel.
  3. Klicke auf Neuer SSH-Schlüssel oder SSH-Schlüssel hinzufügen.

Eine ausführliche Anleitung findest du alternativ hier.

Verbindung testen

Um sicherzustellen, dass alles geklappt hat, kannst du folgenden Befehl in deinem Terminal ausführen:

Du solltest im Anschluss folgende Meldung bekommen:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

Nützliche Links zum Thema

Alles zum Thema: Herstellen einer Verbindung mit GitHub per SSH
Über SSH:
GitHub
Cloudflare
Wikipedia

s87810 and others added 30 commits June 5, 2023 23:37
Hier könnte Ihre Werbung stehen!!!
leere textdatei mit matrikelnummer
Ooops, jetzt auch mit Inhalt ;)
Added Folder for Pasta and description with picture for Farfalle - von Florian Goldbach
Moved some Files from root to Folders
Bild League of legends hinzugefügt
Zubereitung von traditionell vietnamesischen Kaffee
Änderung Wladimir Pushkutse
juHackWeg and others added 29 commits January 7, 2024 11:57
Eine chatGPT 3.5 Poem
Softwaretechnik WS23: Pull Request Ruben Steijn
Create Loecks Love Cocktail receipe
Ein kleiner Witz von Maryna Korovay im Folder Witze
@sophie4075 sophie4075 changed the title Titel: Sichere Remote-Verbindungen mit SSH: Kurzanleitung für GitHub Sichere Remote-Verbindungen mit SSH: Kurzanleitung für GitHub Jun 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.