пытаюсь сгенерировать ssh-ключи виртуальной машины, но получаю ошибку, опция требует аргумента -- P

пытаюсь сгенерировать ssh-ключи виртуальной машины, но получаю ошибку, опция требует аргумента -- P

Я выполнил указанную ниже команду вручную в виртуальной машине и смог сгенерировать ключи 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\nuиспользование: 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

Можно использовать одинарные кавычки вместо двойных. Или наоборот для поля «Пароль».

'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 '' "

Связанный контент