Früher oder später muss man "in den Server hinein": einen Dienst neu starten, nachsehen, warum die Festplatte voll ist, ein Protokoll lesen. Und da taucht die ewige Frage auf: Wer hat den Schlüssel? Ein Terminal im Browser räumt das Problem aus dem Weg: Auf dem Rechner dessen, der sich anmeldet, muss nichts installiert werden, es muss ihm kein Schlüssel per E-Mail geschickt werden, und es wird protokolliert, wer sich angemeldet hat. Diese Anleitung erklärt, was AWS dafür in jedem Fall bietet und welche Schritte nötig sind.
Bevor Sie anfangen: was die Begriffe bedeuten
- Terminal oder Konsole
- Ein Fenster, in dem Sie der Maschine Befehle geben und sehen, was sie antwortet. Unter Linux heißt es Bash; unter Windows PowerShell.
- SSH
- Das Protokoll, mit dem aus der Ferne verschlüsselt ein Terminal geöffnet wird. Nutzt Port 22.
- SSH-Client
- Das Programm, das Sie auf Ihrem Rechner installieren, um sich per SSH zu verbinden (PuTTY, das "ssh" des Terminals …). Ein Terminal im Browser macht es überflüssig.
- Temporärer Schlüssel
- Ein SSH-Schlüssel, den AWS für eine einzige Verbindung erzeugt und der nach Minuten abläuft. Das nutzt die Webkonsole von Lightsail.
- Fingerabdruck des Servers (Host Key)
- Die "Unterschrift" des SSH-Servers der Maschine. Damit stellen Sie sicher, dass Sie mit Ihrer Maschine sprechen und nicht mit einer anderen, die sich für sie ausgibt.
- OpenSSH-Server von Windows
- Die Komponente, die die Anmeldung per SSH an einem Windows erlaubt. Windows Server bringt sie seit 2019 als optionales Feature mit (2025 bereits installiert).
Schritt für Schritt
Linux in Lightsail: die Webkonsole
In der Lightsail-Konsole hat jede Linux-Maschine die Schaltfläche Über SSH verbinden. Es öffnet sich ein Terminal im Browser, ohne etwas zu konfigurieren: Lightsail erzeugt einen temporären Schlüssel, legt ihn für ein paar Minuten auf der Maschine ab und meldet sich als Benutzer des Images an (bitnami, ubuntu, ec2-user …). Das ist bequem und sicher. Was es nicht bietet: Berechtigungen pro Person (wer in die AWS-Konsole kommt, kommt in alle Maschinen), ein Protokoll, wer was geöffnet hat, und eine Möglichkeit, es einem externen Techniker zu geben, ohne ihm Ihr AWS-Konto zu geben.
Linux in EC2: Session Manager
In EC2 gibt es diesen temporären Schlüssel nicht. Die Option ohne Client ist Session Manager von Systems Manager: Die Maschine hat einen Agenten (die Amazon-Images bringen ihn mit) und eine IAM-Rolle, die ihr erlaubt, mit Systems Manager zu sprechen; in der EC2-Konsole öffnet Verbinden → Session Manager ein Terminal. Vorteile: Port 22 muss nicht geöffnet werden, und es wird protokolliert. Dafür: die IAM-Rolle, die Berechtigungen und, wenn Sie Sitzungen aufzeichnen wollen, ein S3-Bucket oder CloudWatch. Es ist der von AWS empfohlene Weg für EC2.
Windows: PowerShell über OpenSSH
Die Lightsail-Konsole für Windows ist Remotedesktop im Browser, schwerfällig und mit dem Administrator-Passwort dazwischen. Die leichte Alternative ist der OpenSSH-Server von Windows: in PowerShell als Administrator
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 Set-Service sshd -StartupType Automatic; Start-Service sshd New-ItemProperty -Path HKLM:\SOFTWARE\OpenSSH -Name DefaultShell -Value "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -ForceDamit öffnet eine SSH-Verbindung zu Port 22 PowerShell. Öffnen Sie Port 22 in der Windows-Firewall und in der von Lightsail nur für die IPs, die hinein dürfen. Bei Windows Server 2025 ist der Server bereits installiert und muss nur gestartet werden.
Prüfen Sie beim ersten Mal den Fingerabdruck
Die erste Verbindung zu einer Maschine zeigt ihren Fingerabdruck und fragt, ob Sie ihn akzeptieren. Wenn möglich, vergleichen Sie ihn mit dem, den die Maschine selbst ausgibt (
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pubunter Linux; unter Windows derselbe Befehl fürC:\ProgramData\ssh\ssh_host_ed25519_key.pub). Von da an merkt sich Ihr Client ihn und warnt, wenn er sich ändert. Eine Warnung über einen geänderten Fingerabdruck ohne Grund ist ernst: Machen Sie nicht weiter, bevor Sie verstanden haben, warum.Einem Techniker die Konsole geben, ohne ihm Ihr Konto zu geben
Hier greift AWS zu kurz. Die Möglichkeiten sind, einen IAM-Benutzer für ihn mit sehr eng gefassten Berechtigungen anzulegen (und zu pflegen), oder ihm einen eigenen SSH-Schlüssel zu geben und ihn auf die betroffenen Maschinen zu kopieren (und daran zu denken, ihn zu entfernen). Keine ist furchtbar; beide sind Arbeit, die sich mit jedem Techniker und jeder Maschine ansammelt, und am Ende passiert meist, dass "der übliche Schlüssel" geteilt wird.
Was schiefgehen kann
"Connection timed out" auf Port 22
Die Lightsail-Firewall (oder die EC2-Sicherheitsgruppe) hat Port 22 nicht für Ihre aktuelle IP offen. Öffnen Sie ihn für Ihre IP, nicht für die ganze Welt.
Unter Windows verbindet es sich, aber die Konsole ist cmd, nicht PowerShell
Der Registrierungseintrag DefaultShell aus Schritt 3 fehlt. Fügen Sie ihn hinzu und starten Sie den Dienst sshd neu.
Session Manager sagt, die Maschine sei nicht "managed"
Der Agent spricht nicht mit Systems Manager: Fast immer fehlt die IAM-Rolle auf der Maschine (AmazonSSMManagedInstanceCore), oder die Maschine hat weder Internetzugang noch private Endpunkte.
Der Fingerabdruck hat sich geändert
Haben Sie die Maschine neu installiert oder aus einem Snapshot unter einer anderen IP erstellt, ist das normal. Wenn nicht, halten Sie an und finden Sie es heraus: Es könnte eine andere Maschine dazwischen sein.
In Simplio
In Simplio ist das Terminal eine Schaltfläche auf der Karte der Maschine. Unter Linux nutzt es denselben temporären Schlüssel wie die Webkonsole von Lightsail; unter Windows öffnet es PowerShell über den OpenSSH-Server von Windows mit dem Passwort, das Lightsail gespeichert hat, ohne dass es jemand sieht. In beiden Fällen: Zwei-Faktor-Code bei jedem Öffnen, Berechtigung pro Person und pro Maschine (der Techniker sieht die Testmaschine und keine andere), ein Ticket für 60 Sekunden und eine einzige Nutzung für den Browser, und der Fingerabdruck der Maschine geprüft. Niemand erhält einen Schlüssel, nichts wird installiert, und jedes Öffnen landet im Aktivitätsprotokoll. So funktioniert das Terminal.
Dasselbe, in AWS und in Simplio
| In der AWS-Konsole | In Simplio | |
|---|---|---|
| Eine Linux-Konsole öffnen | Webkonsole von Lightsail (mit Ihrem AWS-Konto) oder Session Manager in EC2 (Agent, Rolle, Berechtigungen) | Schaltfläche "Terminal" auf der Karte, mit dem Zwei-Faktor-Code |
| Eine Windows-Konsole öffnen | Remotedesktop mit dem Administrator-Passwort, oder OpenSSH installieren und mit einem Client verbinden | Schaltfläche "Terminal": PowerShell im Browser, mit Zwei-Faktor |
| Sie einem Techniker geben | IAM-Benutzer oder eigener SSH-Schlüssel, Maschine für Maschine | Ihm diese Maschine in Simplio zuweisen; nichts zu versenden und nichts später zu entfernen |
| Wissen, wer sich angemeldet hat | SSH-Protokolle auf jeder Maschine, oder CloudTrail für Session Manager | Aktivitätsprotokoll: wer, welche Maschine, wann, von welcher IP |
| Den Fingerabdruck prüfen | Sie selbst, beim ersten Mal, von Hand | AWS liefert ihn unter Linux; unter Windows merkt Simplio ihn sich beim ersten Mal und verlangt ihn immer |