Ich bin ein Neuling bei Ubuntu und entwickle ein Projekt basierend auf der Firebase Firestore-Datenbank. Ich versuche, Dienste auf Ubuntu Server 22.04 auszuführen. Ich kann die Firestore-Datenbank (unter Windows kann ich das auch mithilfe von Umgebungsvariablen tun) mit einer privaten Schlüsseldatei verbinden und ich möchte diese Datei geheim halten. Um dies zu erreichen, habe ich eine Datei mit einem geheimen Schlüssel erstellt und sie in meiner Dienstkonfigurationsdatei wie folgt referenziert.
[Unit]
Description=myservice
[Service]
Type=simple
Restart=always
RestartSec=5sec
EnvironmetnFile=/etc/mysecrets/mysecret
[Install]
WantedBy=multi-user.target
Es funktioniert für kleine Variablen wie
MYSECRET=111111
Aber eine Datei wie die folgende funktioniert nicht
MYSECRET= {
"type": "service_account",
"project_id": "my-project-id",
"private_key_id": "1234567890abcdef",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDzq3MW0BWT4skj\n6pSG0ZXl...U6XyUrhRz\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "1234567890abcdef",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-project-id%40my-project-id.iam.gserviceaccount.com"
}
private_key wird über 1700 Zeichen lang sein \n
.
Wie kann ich mit so vielen Informationen eine sichere geheime Datei auf einem Ubuntu-Server erstellen? Irgendeine Idee?
PS: Dies ist keine echte oder gültige private Schlüsseldatei
Antwort1
WieMuruWie im obigen Kommentar erwähnt, hat eine einzelne Quote mein Problem gelöst. Ich habe einfach secret so eingegeben und jetzt funktioniert es wie am Schnürchen.
DasAntworthat mein Problem gelöst.
MYSECRET= '{
"type": "service_account",
"project_id": "my-project-id",
"private_key_id": "1234567890abcdef",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDzq3MW0BWT4skj\n6pSG0ZXl...U6XyUrhRz\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "1234567890abcdef",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-project-id%40my-project-id.iam.gserviceaccount.com"
}'