Menempatkan kunci RSA ke dalam brankas kunci biru

14

Bagaimana saya bisa menyimpan pasangan kunci saya (biasanya id_rsa dan id_rsa.pub) di brankas kunci biru. Saya ingin meletakkan kunci publik di layanan GIT saya dan memungkinkan mesin virtual untuk mengunduh kunci pribadi dari brankas kunci Azure -> Sehingga dapat mengakses GIT dengan aman.

Saya mencoba membuat sepasang file PEM dan menggabungkannya menjadi pfx dan mengunggahnya sebagai rahasia tapi file yang saya dapatkan kembali tampaknya sangat berbeda dengan file pem yang lain.

Saya juga mencoba memasukkan kunci rahasia saya secara manual ke Azure tetapi mengubah baris baru menjadi spasi.

MercilessMaverick
sumber

Jawaban:

23

Anda bisa menggunakan Azure CLI untuk mengunggah id_rsake Azure Key Vault.

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

Anda bisa menggunakan -huntuk mendapatkan bantuan.

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

Anda juga dapat mengunduh rahasia dari brankas kunci.

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

Saya membandingkan kunci di lab saya. Mereka sama.

Shui shengbao
sumber
Saya sangat menghargai semua jawaban Anda di sini, terima kasih!
Reaces
@Reaces Saya senang mengetahui jawaban saya bermanfaat bagi Anda.
Shui shengbao
Maaf, saya bukan OP, saya baru saja membaca ini dan mengujinya dan menyimpannya sebagai pengetahuan yang berguna dan merasa saya berutang budi + komentar :). Permintaan maaf untuk kebingungan.
Mencapai
> Maaf, saya bukan OP, saya hanya membaca ini dan mengujinya dan menyimpannya sebagai pengetahuan yang berguna dan merasa saya berutang Anda suara + komentar :) Kedengarannya lucu. Komunitas yang sangat ramah.
Net Runner
2
FYI, mengikuti adalah cara yang tepat untuk mendapatkan rahasia gettidak berfungsi lagi. az keyvault secret download --name <KeyNameHere> --vault-name <vaultNamehere> --file <filename here>
Gregory Suvalian
12

Jawaban sebelumnya oleh Shengbao Shui menunjukkan perintah untuk menyimpan rahasia menggunakan Azure CLI 1.0 (Node). Untuk Azure CLI 2.0 (Python) gunakan sintaks berikut:

Set / Simpan Kunci:

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

Argumen:

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.

Ambil / Dapatkan Kunci:

Simpan kunci ke file ~/.ssh/mykeymenggunakan utilitas jq.

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

File dapat dicetak dengan baris tambahan, yang dapat Anda hapus dengan perl one-liner:

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

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

Hasilkan kunci publik dari file kunci pribadi ...

ssh-keygen -y -f ~/.ssh/myfile > ~/.ssh/myfile.pub
Jalan Raya Kehidupan
sumber