Mettere le chiavi RSA nel caveau delle chiavi azzurre


14

Come posso memorizzare la mia coppia di chiavi (in genere id_rsa e id_rsa.pub) nel deposito chiave azzurro. Voglio inserire la chiave pubblica nel mio servizio GIT e consentire a una macchina virtuale di scaricare la chiave privata dal vault di Azure -> In modo che possa accedere a GIT in modo sicuro.

Ho provato a creare una coppia di file PEM e combinarli in una pfx e caricando che come bu segreto il file che ritorno sembra essere completamente diverso da entrambi i file PEM.

Ho anche provato a inserire manualmente la mia chiave segreta in Azure, ma trasforma le nuove righe in spazi.

Risposte:


23

È possibile usare l' interfaccia della riga di comando id_rsadi Azure per caricare in Azure Key Vault.

azure keyvault secret set --name shui --vault-name shui --file ~/.ssh/id_rsa

Puoi usare -hper ottenere aiuto.

--file <file-name>                 the file that contains the secret value to be uploaded; cannot be used along with the --value or --json-value flag

Puoi anche scaricare i segreti dal key vault.

az keyvault secret download --name shui --vault-name shui --file ~/.ssh/id_rsa

Confronto le chiavi sul mio laboratorio. Sono uguali


Apprezzo molto tutte le tue risposte qui, grazie!
Reagisce

@Reaces Sono felice di sapere che la mia risposta ti è stata utile.
Shui shengbao,

Mi dispiace, non sono l'OP, ho appena letto questo e l'ho testato e archiviato come conoscenza utile e ho sentito che dovevo un voto + commento :). Scuse per la confusione.
Reagisce

> Mi dispiace, non sono l'OP, l'ho appena letto e testato e archiviato come conoscenza utile e ho sentito di doverti votare + commentare :) Sembra divertente. Comunità così amichevole.
Net Runner

2
Cordiali saluti, seguire è il modo corretto per ottenere il segreto getnon funziona più. az keyvault secret download --name <KeyNameHere> --vault-name <vaultNamehere> --file <filename here>
Gregory Suvalian,

12

La risposta precedente di Shengbao Shui mostra il comando per archiviare un segreto usando l'interfaccia della riga di comando 1.0 di Azure (Nodo). Per l' interfaccia della riga di comando di Azure 2.0 (Python) usare la sintassi seguente:

Imposta / Memorizza chiave:

az keyvault secret set --vault-name 'myvault' -n 'secret-name' -f '~/.ssh/id_rsa'

Argomenti:

Arguments
    --name -n    [Required]: Name of the secret.
    --vault-name [Required]: Name of the key vault.
    --description          : Description of the secret contents (e.g. password, connection string,
                             etc).
    --disabled             : Create secret in disabled state.  Allowed values: false, true.
    --expires              : Expiration UTC datetime  (Y-m-d'T'H:M:S'Z').
    --not-before           : Key not usable before the provided UTC datetime  (Y-m-d'T'H:M:S'Z').
    --tags                 : Space-separated tags in 'key[=value]' format. Use '' to clear existing
                             tags.

Content Source Arguments
    --encoding -e          : Source file encoding. The value is saved as a tag (`file-
                             encoding=<val>`) and used during download to automatically encode the
                             resulting file.  Allowed values: ascii, base64, hex, utf-16be,
                             utf-16le, utf-8.  Default: utf-8.
    --file -f              : Source file for secret. Use in conjunction with '--encoding'.
    --value                : Plain text secret value. Cannot be used with '--file' or '--encoding'.

Global Arguments
    --debug                : Increase logging verbosity to show all debug logs.
    --help -h              : Show this help message and exit.
    --output -o            : Output format.  Allowed values: json, jsonc, table, tsv.  Default:
                             json.
    --query                : JMESPath query string. See http://jmespath.org/ for more information
                             and examples.
    --verbose              : Increase logging verbosity. Use --debug for full debug logs.

Recupera / Ottieni chiave:

Salvare la chiave in un file ~/.ssh/mykeyusando l'utilità jq.

az keyvault secret show --vault-name myvault --name 'secret-name' | jq -r .value > ~/.ssh/mykey

I file possono essere stampati con una nuova riga finale, che è possibile rimuovere con una riga perl:

perl -pi -e 'chomp if eof' ~/.ssh/mykey

# Set permissions to user-read only
chmod 600 ~/.ssh/mykey

Genera la chiave pubblica dal file della chiave privata ...

ssh-keygen -y -f ~/.ssh/myfile > ~/.ssh/myfile.pub
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.