2011-12-26 22 views
7

Necesito almacenar un par de claves RSA en un archivo YAML, pero una comprensión aún limitada de la sintaxis de yaml y la falta de ejemplos me hace buscar una respuesta.Claves RSA públicas/privadas en YAML

Voy a empezar a trabajar con lo que tengo, pero me preguntaba si alguien podría explicar rápida y concisamente cómo podría almacenar algo de esta naturaleza en mi vida.

Respuesta

8

Puede almacenar sus claves como texto ("armado con ASCII"/codificado en base 64). From Wikipedia, la sintaxis de líneas múltiples en YAML es:

- title: An example multi-line string in YAML 
    body : | 
    This is a multi-line string. 
    "special" metacharacters may 
    appear here. The extent of this string is 
    indicated by indentation. 
+0

¿qué tal una lista? Es decir. 'script: - mkdir ~/.ssh/- echo $ SSH_KEY> ~/.ssh/id_rsa'? –

0

A partir del 27-2016-oct este es el primer resultado en Google al buscar por "clave RSA yaml", por lo que me gustaría añadir una respuesta en la sintaxis específica necesaria para las claves RSA en Yaml.

Si incluye la clave en una sola línea en el archivo yaml, no hay problemas. Si desea dividirlo en líneas diferentes para su legibilidad y no puede aceptar nuevas líneas en la cadena generada, la única opción parece ser comillas dobles con códigos de escape.

En mi caso, necesitaba una cadena generada de una línea, sin espacios, ya que la definición de clave estaba siendo utilizada por un motor de plantillas para insertar la clave en una variable de script. La siguiente sintaxis se unirá a cada línea, sin espacios (por favor, tenga en cuenta el '\' en cada línea para eliminar los saltos de línea):

yourKey: "-----BEGIN PUBLIC KEY-----\ 
     xxx...\ 
     yyy...\ 
     zzz...\ 
     -----END PUBLIC KEY-----" 

    result: "-----BEGIN PUBLIC KEY-----xxx...yyy...zzz...-----END PUBLIC KEY-----" 

Una muy buena referencia sobre los formatos para los literales se puede encontrar aquí en SO: https://stackoverflow.com/a/21699210/4228798

Cuestiones relacionadas