RSA 키를 푸른 키 저장소에 놓기


14

Azure Key Vault에 키 페어 (일반적으로 id_rsa 및 id_rsa.pub)를 저장하는 방법 공개 키를 내 GIT 서비스에 넣고 가상 머신이 Azure 키 저장소에서 개인 키를 다운로드하도록 허용하고-> GIT에 안전하게 액세스 할 수 있습니다.

한 쌍의 PEM 파일을 만들어 pfx에 결합하고 비밀 부로 업로드하면 파일이 pem 파일과 완전히 다른 것처럼 보입니다.

또한 비밀 키를 Azure에 수동으로 입력했지만 개행을 공백으로 바꿉니다.

답변:


23

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

실험실의 키를 비교합니다. 그들은 동일합니다.


모든 답변을 주셔서 감사합니다.
Reaces

@Reaces 답변이 도움이 되니 다행입니다.
Shui shengbao

죄송합니다, 저는 OP가 아닙니다. 나는 이것을 읽고 테스트하여 유용한 지식으로 제출했으며, 당신에게 투표 + 의견을 주어야한다고 생각했습니다 :). 혼란에 대한 사과.
Reaces

> 죄송합니다. 저는 OP가 아닙니다. 나는 이것을 읽고 테스트하여 유용한 지식으로 제출했으며, 당신에게 투표를하기로했다고 느꼈습니다. + 댓글 :) 웃긴 것 같습니다. 친절한 커뮤니티.
Net Runner

2
참고로, 다음은 비밀을 얻는 적절한 방법으로 get더 이상 작동하지 않습니다. az keyvault secret download --name <KeyNameHere> --vault-name <vaultNamehere> --file <filename here>
Gregory Suvalian

12

Shengbao Shui의 이전 답변은 Azure CLI 1.0 (노드)을 사용하여 비밀을 저장하는 명령을 보여줍니다. 들어 푸른 CLI 2.0 (파이썬) 다음 구문을 사용합니다 :

세트 / 저장 키 :

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.

검색 / 키 받기 :

jq 유틸리티를~/.ssh/mykey 사용하여 키를 파일에 저장하십시오 .

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

파일은 후행 줄 바꿈으로 인쇄 될 수 있으며, 펄 한 줄짜리로 제거 할 수 있습니다.

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.