Đưa khóa RSA vào kho khóa phím azure


13

Làm cách nào tôi có thể lưu trữ cặp khóa của mình (thường là id_rsa và id_rsa.pub) trong vault key azure. Tôi muốn đặt khóa chung vào dịch vụ GIT của mình và cho phép máy ảo tải xuống khóa riêng từ kho khóa của Azure -> để nó có thể truy cập GIT một cách an toàn.

Tôi đã thử tạo một cặp tệp PEM và kết hợp chúng thành pfx và tải lên dưới dạng bí mật khi tệp tôi nhận được dường như hoàn toàn khác với tệp pem.

Tôi cũng đã thử nhập thủ công khóa bí mật của mình vào Azure nhưng nó biến dòng mới thành khoảng trắng.

Câu trả lời:


22

Bạn có thể sử dụng Azure CLI để tải lên id_rsaAzure Key Vault.

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

Bạn có thể sử dụng -hđể được giúp đỡ.

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

Bạn cũng có thể tải xuống bí mật từ kho tiền chính.

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

Tôi so sánh các phím trong phòng thí nghiệm của tôi. Họ giống nhau.


Tôi thực sự đánh giá cao tất cả các câu trả lời của bạn ở đây, thx!
Hồi phục

@Reaces Tôi rất vui khi biết câu trả lời của tôi hữu ích cho bạn.
Shui shengbao

Xin lỗi, tôi không phải là OP, tôi chỉ đọc nó và kiểm tra nó và gửi nó đi như một kiến ​​thức hữu ích và cảm thấy tôi nợ bạn một phiếu bầu + bình luận :). Xin lỗi vì sự nhầm lẫn.
Hồi phục

> Xin lỗi, tôi không phải là OP, tôi chỉ đọc nó và kiểm tra nó và gửi nó đi như một kiến ​​thức hữu ích và cảm thấy tôi nợ bạn một phiếu bầu + bình luận :) Nghe có vẻ buồn cười. Vì vậy, cộng đồng thân thiện.
Á quân Net

2
FYI, sau đây là cách thích hợp để lấy bí mật getkhông hoạt động nữa. az keyvault secret download --name <KeyNameHere> --vault-name <vaultNamehere> --file <filename here>
Gregory Suvalian

12

Câu trả lời trước của Shengbao Shui cho thấy lệnh lưu trữ bí mật bằng Azure CLI 1.0 (Nút). Đối với Azure CLI 2.0 (Python) sử dụng cú pháp sau:

Đặt / Lưu trữ khóa:

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

Tranh luận:

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.

Lấy / Nhận khóa:

Lưu khóa vào một tệp ~/.ssh/mykeybằng tiện ích jq.

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

Các tệp có thể in với một dòng mới, mà bạn có thể loại bỏ bằng một lớp lót perl:

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

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

Tạo khóa chung từ tệp khóa riêng ...

ssh-keygen -y -f ~/.ssh/myfile > ~/.ssh/myfile.pub
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.