Vollständiger Leitfaden zur Erstellung von SSH-Schlüsseln für Amazon-Server und Cloud-Rechenzentren
In diesem Artikel zeigen wir Ihnen Schritt für Schritt, wie Sie SSH-Schlüssel für die sichere Anmeldung an Cloud-Servern und Rechenzentren erstellen. Erfahren Sie, wie Sie diese Schlüssel unter Windows und Linux erstellen und verwenden.

Vollständiger Leitfaden zur Erstellung von SSH-Schlüsseln für Amazon-Server und Cloud-Rechenzentren

Dieser Artikel zeigt Ihnen, wie Sie SSH-Schlüssel sicher und professionell für die sichere Anmeldung an Amazon-Cloud-Servern und -Rechenzentren generieren. Sie lernen praktische Methoden für Windows und Linux sowie Best Practices für Serversicherheit und -verwaltung kennen.
0 Aktien
0
0
0
0

Warum sollte ich einen SSH-Schlüssel erstellen und verwenden?

In Cloud-Umgebungen und internationalen Rechenzentren ist die sichere und automatisierte Anmeldung an Servern ein Eckpfeiler jeder DevOps-Operation, jedes Webhostings, Renderings, KI-Anwendungen und Datenbankmanagements. SSH-Schlüssel Sie stellen eine standardisierte, sichere und skriptfähige Methode zur Authentifizierung dar und ersetzen schwache Passwörter.

Die Verwendung von öffentlichen/privaten Schlüsseln verringert das Risiko von Brute-Force-Angriffen und erleichtert die Automatisierung und Implementierung feingranularer Zugriffskontrollen.

Voraussetzungen und grundlegende Konzepte

Privater Schlüssel: Ihre vertrauliche Akte, die nicht offengelegt werden sollte.

Öffentlicher Schlüssel: Eine Datei, die auf dem Server abgelegt wird (authorized_keys).

Gängige Algorithmen: ed25519 (Empfohlen), RSA 4096.

Routen: ~/.ssh/id_* Unter Linux/WSL und C:\Users\ .ssh Unter Windows.

Zugriffe: chmod 700 ~/.ssh Und chmod 600 Für den privaten Schlüssel.

Erstellen eines SSH-Schlüssels unter Linux/macOS/WSL

Es wird empfohlen, ed25519 Verwenden Sie diese Option nur, wenn Sie RSA aus Kompatibilitätsgründen benötigen.

Schritte zum Generieren und Verwalten von Schlüsseln in Shell

ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519 -o -a 100
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa -o -a 100
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ls -la ~/.ssh
cat ~/.ssh/id_ed25519.pub
ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 [email protected]
chmod 400 my-aws-key.pem
ssh -i my-aws-key.pem [email protected]

Hinweis: In AWS wählen oder importieren Sie den Schlüssel häufig beim Starten einer Instanz. Wenn Sie eine PEM-Datei haben, verwenden Sie diese als Identitätsschlüssel.

Erstellen eines SSH-Schlüssels unter Windows (PowerShell / Windows OpenSSH)

Windows 10/11 verfügt über einen OpenSSH-Client; alternativ können Sie PuTTY/Puttygen verwenden, um eine Verbindung mit PuTTY herzustellen.

PowerShell-Befehle

ssh-keygen -t ed25519 -C "[email protected]" -f $env:USERPROFILE\.ssh\id_ed25519
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Dateipfad:

  • C:\Users\ \.ssh\id_ed25519

  • C:\Users\ \.ssh\id_ed25519.pub

Konvertieren Sie PEM in PPK mit PuTTYgen

Allgemeine Schritte:

  • Öffnen Sie PuTTYgen.

  • Datei > Privaten Schlüssel und Datei laden my-aws-key.pem Laden (alle Dateien anzeigen).

  • Privaten Schlüssel speichern unter my-aws-key.ppk Und verwenden Sie es in PuTTY (Verbindung > SSH > Authentifizierung > Datei mit privatem Schlüssel).

Importieren öffentlicher Schlüssel in AWS EC2 und anderen Cloud-Panels

AWS-Konsole: EC2 > Schlüsselpaare > Schlüsselpaar importieren. Dateiname und Inhalt .pub Eingeben.

Beim Erstellen einer Instanz können Sie ein vorhandenes Schlüsselpaar auswählen. Andere Rechenzentren bieten häufig eine Option zum Hochladen/Importieren von SSH-Schlüsseln im Bedienfeld an.

cloud-init-Beispiel zum Hinzufügen eines öffentlichen Schlüssels

#cloud-config
ssh_authorized_keys:
  - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... [email protected]

Füge den Schlüssel zu GitLab/GitHub hinzu und verwende ihn in der CI.

Für GitLab: Benutzereinstellungen > SSH-Schlüssel Fügen Sie den öffentlichen Schlüssel ein. Gehen Sie zum Projekt, um die Schlüssel bereitzustellen.

In CI/CD laden Sie den privaten Schlüssel als geschützte Variable hoch und verwenden ihn im Job, indem Sie eine Datei mit eingeschränktem Zugriff erstellen (chmod 600).

Server- und Sicherheitseinstellungen nach der Schlüsselinstallation

Schritt 1: Berechtigungen festlegen.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_ed25519

Dann Einstellungen /etc/ssh/sshd_config Prüfen und aktualisieren:

  • Passwortauthentifizierung Nr.

  • PermitRootLogin nein

  • PubkeyAuthentication yes

  • Du kannst Benutzer zulassen Um die Benutzeranzahl einzuschränken, wurde diese Einstellung vorgenommen.

  • UseDNS no Und ändern Sie gegebenenfalls den Port.

sudo systemctl restart sshd

Firewall:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw allow 2222/tcp

Verwenden Sie Fail2ban oder CrowdSec, um Brute-Force-Angriffe zu verhindern:

sudo apt install fail2ban

Für sensible Server sollten Bastion-/Jump-Hosts verwendet werden, um den direkten Zugriff auf private Netzwerke einzuschränken.

Praktische Tipps für verschiedene Anwendungen

Für Trader (VPS für den Handel)

Wählen Sie einen Standort: Nähe zu Broker- oder Börsenservern für geringste Latenzzeiten. Wir verfügen über mehr als 85 Standorte weltweit, die Ihnen einen Standort in der Nähe Ihres Zielmarktes bieten können.

Es wird empfohlen, SSH auf statische IP-Adressen oder VPN zu beschränken:

sudo ufw allow from 203.0.113.5 to any port 22

Für Gamer (Gaming-VPS)

Für Spielserver sollten Standorte mit starker Peering-Verbindung und geeignetem CDN/BGP verwendet werden. Zur Reduzierung der Angriffsfläche sollten SSH-Schlüssel anstelle von Passwörtern und ein Bastion-Host eingesetzt werden.

Für KI und Rendering (GPU-Cloud)

Verwenden Sie starke Schlüssel (ed25519/RSA4096), um eine Verbindung zu GPU-Servern herzustellen, und weisen Sie jedem Projekt einen separaten Benutzer und Schlüssel zu.

rsync -avz -e "ssh -i ~/.ssh/id_ed25519 -p 2222" /local/path user@remote:/remote/path

Für Hosting und GitLab-Hosting

Verwenden Sie einen serverspezifischen Schlüssel (Bereitstellungsschlüssel) mit eingeschränktem Zugriff, um automatisch auf den Server und private Repositories zuzugreifen.

Schlüsselmanagement, Rotation und Standards

  • Die Schlüssel sollten regelmäßig ausgetauscht werden (z. B. alle 6 bis 12 Monate).

  • Entfernen Sie die alten Schlüssel von autorisierte_Schlüssel Und löschen Sie das Cloud-Panel.

  • Verwenden Sie die Passphrase für den privaten Schlüssel und speichern Sie ihn in einem Passwortmanager.

  • In Organisationen sollten SSH-Zertifikate und eine Zertifizierungsstelle (CA) für die zentrale Verwaltung (OpenSSH CA) verwendet werden.

Zusätzliche Tipps und Fehlerbehebung

Wenn man mit einem Fehler konfrontiert wird Zugriff verweigert (öffentlicher Schlüssel) Prüfen Sie, ob sich der öffentliche Schlüssel in ~/.ssh/authorized_keys Es existiert und die Berechtigungen sind korrekt.

sudo journalctl -u sshd -e
sudo tail -f /var/log/auth.log

Wenn Sie ProxyJump oder Jump Host verwenden, ist die Konfigurationsdatei hilfreich:

Host bastion
  HostName bastion.example.com
  User ubuntu
  IdentityFile ~/.ssh/id_ed25519

Host internal-*
  ProxyJump bastion
  User deploy
  IdentityFile ~/.ssh/id_deploy

Aus ServerAliveInterval Und ServerAliveCountMax In der SSH-Konfiguration verwenden, um plötzliche Verbindungsabbrüche zu verhindern.

Abschließende Sicherheitsempfehlungen

Weitere wichtige Punkte sind die Beschränkung des SSH-Zugriffs auf IPs, die Verwendung eines VPNs oder eines privaten Netzwerks sowie der Einsatz von Anti-DDoS-Diensten für sensible Server.

Zusammenfassung und empfohlene Checkliste

  • Schlüsselerstellung: ed25519 mit Passphrase

  • Dateischutz: chmod 700 ~/.ssh && chmod 600 private_key

  • SSH-Agent aktivieren und Schlüssel hinzufügen

  • Laden Sie den öffentlichen Schlüssel in das AWS-Panel oder Rechenzentrum hoch oder verwenden Sie cloud-init.

  • Deaktivieren der Passwortauthentifizierung und der Root-Anmeldung

  • Firewall/UFW und Fail2ban oder CrowdSec

  • Nutzung von Bastion-Systemen, IP-Beschränkungen und VPN für sensible Zugriffe

  • Regelmäßige Schlüsselduplizierung und -rotation

Das könnte Ihnen auch gefallen