嘗試產生虛擬機器的 ssh 金鑰,但取得錯誤選項需要參數 -- P

嘗試產生虛擬機器的 ssh 金鑰,但取得錯誤選項需要參數 -- P

我已經在虛擬機器中手動執行了以下命令,並且能夠產生 ssh 金鑰,但是當我嘗試在 github actions 的自動化管道中使用相同的腳本時,我收到錯誤

腳本: 名稱: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 | 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 '' ”

相關內容