Soy muy nuevo en Ubuntu y estoy desarrollando un proyecto basado en la base de datos Firebase Firestore. Intentando ejecutar servicios en el servidor ubuntu 22.04. Puedo conectar la base de datos de Firestore (en Windows también puedo hacer esto usando variables de entorno) con un archivo de clave privada y quiero mantener este archivo en secreto. Para lograr esto, creé un archivo con secreto y lo mencioné en mi archivo de configuración de servicio como este.
[Unit]
Description=myservice
[Service]
Type=simple
Restart=always
RestartSec=5sec
EnvironmetnFile=/etc/mysecrets/mysecret
[Install]
WantedBy=multi-user.target
Está funcionando para pequeñas variables como
MYSECRET=111111
Pero no funciona un archivo como el siguiente
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"
}
La clave privada tendrá más de 1700 caracteres \n
.
¿Cómo puedo crear un archivo secreto seguro con tanta información en el servidor Ubuntu? ¿Alguna idea?
PD: este no es un archivo de clave privada real o válido
Respuesta1
ComomuruDicho comentario anterior, la cuota única resolvió mi problema. Acabo de escribir un secreto como este y ahora funciona de maravilla.
Esterespuestaresolvió mi problema.
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"
}'