Ssh
將 RSA 密鑰放入 azure 密鑰庫
如何將我的密鑰對(通常是 id_rsa 和 id_rsa.pub)儲存在 azure key vault 中。我想將公鑰放在我的 GIT 服務中,並允許虛擬機從 Azure 密鑰庫下載私鑰 -> 以便它可以安全地訪問 GIT。
我嘗試製作一對 PEM 文件並將它們組合成一個 pfx 並將其作為秘密上傳,但我返回的文件似乎與任一 pem 文件完全不同。
我還嘗試將我的密鑰手動輸入 Azure,但它會將換行符變成空格。
您可以使用Azure CLI上傳
id_rsa
到 Azure Key Vault。azure keyvault secret set --name shui --vault-name shui --file ~/.ssh/id_rsa
你可以
-h
用來尋求幫助。--file <file-name> the file that contains the secret value to be uploaded; cannot be used along with the --value or --json-value flag
您還可以從密鑰保管庫下載機密。
az keyvault secret download --name shui --vault-name shui --file ~/.ssh/id_rsa
我比較了我實驗室的鑰匙。他們是一樣的。
Shengbao Shui 之前的回答顯示了使用 Azure CLI 1.0 (Node) 儲存機密的命令。對於Azure CLI 2.0 (Python),使用以下語法:
設置/儲存密鑰:
az keyvault secret set --vault-name 'myvault' -n 'secret-name' -f '~/.ssh/id_rsa'
論據:
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.
檢索/獲取密鑰:
~/.ssh/mykey
使用jq 實用程序將密鑰保存到文件中。az keyvault secret show --vault-name myvault --name 'secret-name' | jq -r .value > ~/.ssh/mykey
文件可能會使用尾隨換行符列印,您可以使用 perl 單行將其刪除:
perl -pi -e 'chomp if eof' ~/.ssh/mykey # Set permissions to user-read only chmod 600 ~/.ssh/mykey
從私鑰文件生成公鑰…
ssh-keygen -y -f ~/.ssh/myfile > ~/.ssh/myfile.pub