AWS EC2

SSH Key – Einrichten & Verbinden

Alles oben ausfüllen → Befehle passen sich an → kopieren & einfügen.

Deine Verbindungsdaten

Vorschau SSH-Befehl
EC2 → Netzwerk & Sicherheit → Key Pairs → Key-Pair erstellen
Name eingeben (z.B. DHGE1), Typ RSA, Format .pem → Erstellen. Die Datei lädt sofort herunter — nur dieses eine Mal, danach nicht mehr abrufbar!
EC2 → Instance starten → Abschnitt "Key-Pair (Anmeldung)"
Dein Key DHGE1 im Dropdown auswählen. Außerdem: Speichergröße prüfen und Sicherheitsgruppe mit Port 22 (SSH, nur deine IP) einstellen.
Nach dem Start → Instanz auswählen → "Verbinden" → "SSH-Client"
Dort siehst du den DNS-Namen (z.B. ec2-3-236-250-47.compute-1.amazonaws.com) → oben ins Feld eintragen. Den gezeigten SSH-Befehl von AWS nicht direkt kopieren — der hat keinen vollständigen Pfad und funktioniert so meistens nicht.
SSH-Ordner anlegen
mkdir -p ~/.ssh
Key aus Downloads verschieben
mv ~/Downloads/?.pem ~/.ssh/
Berechtigungen setzen (zwingend!)
chmod 700 ~/.ssh chmod 400 ~/.ssh/?.pem
chmod 700 auf den Ordner, chmod 400 auf den Key. SSH bricht die Verbindung ab wenn der Key für andere lesbar ist.
Kurz erklärt: 3 Ziffern = Owner, Group, Others.
Jede Ziffer ist binär aufgebaut: r=4, w=2, x=1 (Summe).
7 = 4+2+1 = rwx, 4 = r--, 0 = ---.
Deshalb: 700 = nur Owner hat Zugriff, 400 = nur Owner darf lesen.
chmod-Berechtigungsgenerator
Interaktiv: chmod-Rechner
Bits klicken und Zahl sehen
r=4 w=2 x=1
Befehl
chmod 755 datei
rwxr-xr-x
chmod 755 datei
Prüfen
ls -la ~/.ssh/?.pem
Erwartete Ausgabe
-r-------- 1 deinuser deinuser 1674 ~/.ssh/?.pem
Das -r-------- am Anfang = korrekt. Nur du darfst lesen.
SSH-Befehl — fertig zum Einfügen
ssh -i ~/.ssh/?.pem ec2-user@?
Warum nicht der AWS-Befehl? AWS zeigt ssh -i "DHGE1.pem" ... ohne Ordnerpfad. Das geht nur wenn du gerade im Download-Verzeichnis sitzt. Mit ~/.ssh/ funktioniert er von überall.
⚠ Beim ersten Verbinden: Fingerprint-Abfrage mit yes bestätigen. Danach wird der Host gespeichert und die Frage kommt nicht mehr.
Config öffnen
nano ~/.ssh/config
Diesen Block einfügen (Strg+O → Enter → Strg+X zum Speichern)
Host ? HostName ? User ec2-user IdentityFile ~/.ssh/?.pem
Danach verbinden mit
ssh ?
Den Host-Namen kannst du frei wählen — das ist nur dein lokaler Alias.
ℹ Mehrere Server? Einfach mehrere Host-Blöcke untereinander in die Config — dann hast du für jeden Server ein eigenes Kurzwort.
Schritt 1 – Key auf Bastion kopieren
scp -i ~/.ssh/?.pem ~/.ssh/?.pem ec2-user@?:~/.ssh/
Schritt 2 – Auf Bastion einloggen
ssh -i ~/.ssh/?.pem ec2-user@?
Schritt 3 – Auf Bastion Berechtigungen setzen
chmod 400 ~/.ssh/?.pem
Schritt 4 – Von Bastion zur privaten Instanz
ssh -i ~/.ssh/?.pem ec2-user@?
Die Private-IP oben eintragen, dann wird der Befehl hier automatisch aktualisiert.
⚠ Unsicherere Variante: Der private Key liegt auf dem Bastion Host. Für Lernumgebungen okay, produktiv besser Agent Forwarding oder Session Manager nutzen.
ℹ Voraussetzung für Schritt 4: Inbound-Regel der privaten Instanz muss SSH (22) vom Bastion Host erlauben (am besten via Bastion-Security-Group als Source, nicht 0.0.0.0/0).