Anleitungen im Zusammenhang mit Beach

Wie man über SSH auf eine Beach-Instanz zugreift

Zugriff auf die Instanzen deines Projekts für Wartung und Inspektion.

Übersicht

Dieser Leitfaden führt dich durch die Schritte, mit denen du dich über SSH bei deiner Beach-Instanz anmeldest. Wir gehen davon aus, dass du die folgenden Voraussetzungen erfüllst:

  • ein Beach-Projekt mit mindestens einer Instanz
  • einen SSH-Client (z. B. OpenSSH oder Putty) und ein persönliches SSH-Schlüsselpaar

Hinter den Kulissen

Deine Beach-Instanz ist in Wirklichkeit eine Gruppe von Docker-Containern, die in unserer Cloud-Umgebung gehostet werden. Diese Gruppe besteht normalerweise aus separaten Containern für Webserver, PHP-FPM und einem speziellen Container, auf dem ein SSH-Server läuft.

Die Container deiner Instanz sind vom Internet aus nicht direkt zugänglich. Um dich bei deiner Instanz anzumelden, musst du dich daher zunächst mit unserem zentralen SSH-Gateway verbinden. Diese Art von Gateway wird auch als "Jump Host" bezeichnet, weil es ein Zwischenserver ist, der es dir ermöglicht, zu einem anderen Host zu "springen", in diesem Fall zu deinem Instance-Container.

SSH-Schlüssel

Bevor du dich mit einer Instanz verbinden kannst, musst du deinen öffentlichen SSH-Schlüssel in dein Beach-Profil hochladen. Wenn du das getan hast, erhältst du mit deinem SSH-Schlüssel Zugang zu allen Instanzen aller Projekte aller Organisationen, in denen du Mitglied bist.

Das ist ein guter Zeitpunkt, um darüber nachzudenken, deinen privaten Schlüssel mit einem sehr guten Passwort oder, wie wir es machen, mit einem Yubikey zu schützen.

Verbindungsmethode #1: Der moderne Weg

Wenn du OpenSSH 7.2 oder eine neuere Version verwendest, gibt es einen netten und einfachen Parameter, um zu springen. Du kannst die Version deines SSH-Clients ganz einfach überprüfen:

> ssh -V OpenSSH_7.5p1, LibreSSL 2.5.4

Wenn du einen modernen SSH-Client hast, musst du nur noch den Befehl aus der Verbindungsinfo deiner Instanz kopieren (gehe zu den Details deiner Instanz in der Beach-Benutzeroberfläche). Er sieht dann etwa so aus:

ssh -J beach@ssh.flownative.cloud beach@instance-...-db7a014c0599.beach

Kopieren und Einfügen sollte genügen, und wenn alles richtig läuft, solltest du bei deiner Instanz angemeldet sein:

beach@instance-...-db7a014c0599-jnz1v:/application$

Verbindungsmethode #2: Der Weg über die Konfiguration

Wenn du nicht dazu gekommen bist, auf die neueste SSH-Client-Version zu aktualisieren, kannst du dich trotzdem über den Jump-Host verbinden.

Suche deine SSH-Konfigurationsdatei (auf den meisten Systemen ist das ~/.ssh/config) und öffne sie in deinem Editor. Füge den folgenden Eintrag am Ende der Datei hinzu:

Host instance-* User beach Hostname %h.beach ProxyCommand ssh beach@ssh.flownative.cloud -W %h:%p

Jetzt solltest du dich mit dem neuen magischen Hostnamen bei deiner Instanz anmelden können:

ssh instance-15b3b1ab-abed-2ad0-930b-db7a014c0599

Verbindungsmethode #3: Der superbequeme Weg

Du kennst deine Instanz-Kennung nicht auswendig? Das können wir auch nicht - und deshalb haben wir bei Flownative für unsere eigene Website einen speziellen Konfigurationsabschnitt in unsere SSH-Client-Konfiguration eingefügt:

Host www.flownative.com User beach Hostname instance-15b3b1ab-abed-2ad0-930b-db7a014c0599.beach ProxyBefehl ssh beach@ssh.flownative.cloud -W %h:%p

Jetzt ist die Verbindung zu www.flownative.com genauso einfach wie die Verbindung zu www.flownative.com:

ssh www.flownative.com