Zum Inhalt springen

Per SSH auf Ihre Apps und Services zugreifen

Zuletzt aktualisiert am

In diesem Thema erfahren Sie, wie Sie eine SSH-Verbindung zu den Containern Ihrer Anwendung und zu Datendiensten aufbauen. Mit einer interaktiven SSH-Session in Ihrem App-Container oder in einer Datendienst-Ressource können Sie direkt mit Ihrer Anwendung oder Ihrem Service interagieren. Die STACKIT Cloud Foundry Plattform unterstützt generell SSH-Verbindungen, sodass Sie per SSH auf jeden Container oder Datendienst zugreifen können, für den Sie die entsprechenden Berechtigungen haben.

Mehr über den SSH-Zugriff auf Ihre Anwendung und Services erfahren Sie in der Cloud Foundry Dokumentation.

Sobald Sie sich mit der CF CLI in Ihrem Space angemeldet haben, können Sie mit folgendem Befehl einfach per SSH auf Ihre Anwendung zugreifen:

Terminal-Fenster
cf ssh <APPNAME>

Damit wird direkt eine SSH-Verbindung zur ersten Instanz Ihrer Anwendung (Index 0) geöffnet, die in Ihrem Space gehostet ist.

Zusätzlich können Sie gängige Flags mit dem SSH-Befehl verwenden, zum Beispiel -i, um den Index der Instanz auszuwählen, in die Sie sich per SSH verbinden möchten. Mehr zu den Flags finden Sie mit cf ssh --help oder in der Cloud Foundry Dokumentation.

Um auf Ihren Datendienst zuzugreifen, müssen Sie einen SSH-Tunnel durch den Container Ihrer Anwendung erstellen. Dazu muss in dem Space, an den der Datendienst gebunden ist, eine Anwendung gehostet sein.

Zusätzlich müssen Sie einen Service Access Key erstellen, um nachvollziehbar auf Ihren Datendienst zuzugreifen. Sobald Sie mit der CF CLI in Ihrem Space angemeldet sind, erstellen Sie den Service Access Key mit folgendem Befehl:

Terminal-Fenster
cf create-service-key <SERVICE_INSTANCE_NAME> <ACCESS_KEY_NAME>

Anschließend können Sie Ihren Service Key mit dem Befehl cf service-key abrufen, wie im folgenden Beispiel:

Terminal-Fenster
cf service-key MY-DB EXTERNAL-ACCESS-KEY
Getting key EXTERNAL-ACCESS-KEY for service instance MY-DB as user@example.com
{
"hostname": "us-cdbr-iron-east-01.mysql.net",
"jdbcUrl": "jdbc:mysql://us-cdbr-iron-east-03.mysql.net/ad_b2fca6t49704585d?user=b5136e448be920\u0026password=231f435o05",
"name": "ad_b2fca6t49704585d",
"password": "231f435o05",
"port": "3306",
"uri": "mysql://b5136e448be920:231f435o05@us-cdbr-iron-east-03.mysql.net:3306/ad_b2fca6t49704585d?reconnect=true",
"username": "b5136e448be920"
}

Die Informationen aus Ihrem Service Access Key können Sie anschließend verwenden, um mit folgendem Befehl den SSH-Tunnel durch den Container Ihrer Anwendung zum Datendienst aufzubauen:

Terminal-Fenster
cf ssh -L <LOCAL_FORWARDING_PORT>:<SERVICE_HOSTNAME>:<SERVICE_PORT> <APP_NAME>

Für den oben gezeigten beispielhaften Service Access Key sieht der Befehl dann so aus:

Terminal-Fenster
cf ssh -L 63306:us-cdbr-iron-east-01.mysql.net:3306 YOUR-HOST-APP

Damit wird der SSH-Tunnel aufgebaut, über den Sie durch den Container Ihrer Anwendung auf Ihren Datendienst zugreifen und direkt mit Ihren Services interagieren können.