VM에서 아래 명령을 수동으로 실행했으며 ssh 키를 생성할 수 있지만 github 작업의 자동화 파이프라인에서 동일한 스크립트를 사용하려고 하면 오류가 발생합니다.
스크립트: 이름: Azure CLI 스크립트
uses: azure/CLI@v1
with:
inlineScript: |
az vm run-command invoke --command-id RunShellScript -g "${{ env.RESOURCEGROUPNAME }}" -n "${{ env.VM_NAME }}" --scripts "chmod 700 /home/adminuser/.ssh && ssh-keygen -t rsa -f /home/adminuser/.ssh/id_rsa -P """
오류:\n[stdout]\n\n[stderr]\n옵션에는 인수가 필요합니다 -- P\r\nusage: ssh-keygen [-q] [-b 비트] [-C 주석] [-f 출력_키파일] [-m 형식]\n [-t dsa | ECDSA | ecdsa-sk | ed25519 | ed25519-sk | rsa]\n [-N 새_암호] [-O 옵션] [-w 공급자]\n ssh-keygen -p [-f 키파일] [-m 형식] [-N 새_암호]\n [-P 이전_암호]\n ssh-keygen -i [-f 입력_키파일] [-m 키_형식]\n ssh-keygen -e [-f 입력_키파일] [-m 키_형식]\n
답변1
큰따옴표 대신 작은따옴표를 사용할 수 있습니다. 또는 비밀번호 필드에 Vise Versa를 입력하세요.
'chmod 700 /home/adminuser/.ssh && ssh-keygen -t rsa -f /home/adminuser/.ssh/id_rsa -P "" '
또는
"chmod 700 /home/adminuser/.ssh && ssh-keygen -t rsa -f /home/adminuser/.ssh/id_rsa -P '' "