Python: SSH-Schlüssel konfigurieren

Diese Dokumentation ist Teil des Deployment mit GitHub Actions-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Ihren Python-Code mit GitHub Actions bereitstellen.

👋 Willkommen bei der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Python-Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Deployen Sie Ihre Anwendung in Sekundenschnelle mit einem einfachen git push.
  • Verwenden Sie Ihren eigenen Domainnamen und profitieren Sie von der automatischen Konfiguration von HTTPS-Zertifikaten für erhöhte Sicherheit.
  • Genießen Sie beruhigende automatische Backups, Ein-Klick-Updates und eine einfache, transparente und vorhersehbare Preisgestaltung.
  • Erhalten Sie optimale Leistung und robuste Sicherheit dank einer privaten und dedizierten VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Python-Cloud-Hosting-Lösung von Stackhero auszuprobieren!

SSH-Schlüssel ermöglichen es GitHub Actions, sich sicher mit Ihrem Python-Service zu verbinden, um den Code zu deployen. Dieser Schritt ist entscheidend, um Ihre Stackhero-Services zu schützen.

Auf Ihrem Computer können Sie neue SSH-Schlüssel generieren, indem Sie folgenden Befehl ausführen:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

Zeigen Sie zunächst den gerade generierten öffentlichen Schlüssel an:

cat /tmp/ssh_key.pub

Wechseln Sie dann in Ihrem Stackhero-Dashboard zu Ihrem "production" Python-Service und klicken Sie auf den Button "Configure".

Service-Einstellungen aufrufenService-Einstellungen aufrufen

Gehen Sie wie folgt vor:

  1. Unter SSH public keys klicken Sie auf Add a public key.
  2. Geben Sie bei Description den Wert GitHub Action ein.
  3. Bei Key fügen Sie den kopierten öffentlichen Schlüssel ein.

Öffentlichen Schlüssel hinzufügenÖffentlichen Schlüssel hinzufügen

Gehen Sie auf die Seite Ihres GitHub-Projekts, klicken Sie auf Settings und dann auf Environments. Wählen Sie New environment.

GitHub Environments konfigurierenGitHub Environments konfigurieren

Geben Sie im Feld Name "production" ein und bestätigen Sie.

Umgebung festlegenUmgebung festlegen

Klicken Sie auf den Button No restriction und wählen Sie Selected branches and tags.

Umgebungsrestriktionen festlegenUmgebungsrestriktionen festlegen

Klicken Sie anschließend auf Add deployment branch or tag rule, geben Sie "production" im Feld Name pattern ein und klicken Sie auf Add rule.

Umgebungs-Branch festlegenUmgebungs-Branch festlegen Umgebungs-Branch festlegenUmgebungs-Branch festlegen

Im Bereich Environment secrets klicken Sie auf Add secret.

Secret hinzufügenSecret hinzufügen

Zeigen Sie nun den zuvor generierten privaten Schlüssel an:

cat /tmp/ssh_key

Verwenden Sie bei der Secret-Konfiguration STACKHERO_SSH_PRIVATE_KEY als Name und fügen Sie den privaten Schlüssel als Wert ein.

SSH Private Key Secret festlegenSSH Private Key Secret festlegen

Gehen Sie anschließend im Bereich Environment variables auf Add variable.

Variablen festlegenVariablen festlegen

Geben Sie STACKHERO_ENDPOINT als Name ein und fügen Sie den Endpoint Ihres Python-Services als Wert ein. Sie finden diesen Endpoint in Ihrem Stackhero-Dashboard.

Endpoint-Variable festlegenEndpoint-Variable festlegen

Wenn Sie den Domainnamen Ihres Services angepasst haben, verwenden Sie die angepasste Version anstelle von <XXXXXX>.stackhero-network.com.

Aus Sicherheitsgründen empfiehlt es sich, die SSH-Schlüssel jetzt von Ihrem Computer zu entfernen, da Sie diese nicht mehr benötigen:

rm /tmp/ssh_key /tmp/ssh_key.pub