キーペア(通常はid_rsaとid_rsa.pub)をAzureキーコンテナーに格納するにはどうすればよいですか?公開キーをGITサービスに配置し、仮想マシンがAzureキーコンテナーから秘密キーをダウンロードできるようにしたい-> GITに安全にアクセスできるようにする。
PEMファイルのペアを作成してそれらをpfxに結合し、それを秘密のbuとしてアップロードしようとしましたが、返されるファイルはどちらの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
Key Vaultからシークレットをダウンロードすることもできます。
az keyvault secret download --name shui --vault-name shui --file ~/.ssh/id_rsa
ラボでキーを比較します。彼らは同じです。
Shengbao Shuiによる以前の回答は、Azure CLI 1.0(ノード)を使用してシークレットを保存するコマンドを示しています。 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の1行で削除できます。
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