versuche, SSH-Schlüssel der VM zu generieren, erhalte aber die Fehleroption, die ein Argument erfordert -- P

versuche, SSH-Schlüssel der VM zu generieren, erhalte aber die Fehleroption, die ein Argument erfordert -- P

Ich habe den folgenden Befehl manuell in der VM ausgeführt und kann die SSH-Schlüssel generieren. Wenn ich jedoch versuche, dasselbe Skript in der Automatisierungspipeline von GitHub-Aktionen zu verwenden, erhalte ich den Fehler

Skript: Name: Azure CLI-Skript

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

Fehler:\n[stdout]\n\n[stderr]\nOption erfordert ein Argument -- P\r\nVerwendung: ssh-keygen [-q] [-b Bits] [-C Kommentar] [-f Ausgabeschlüsseldatei] [-m Format]\n [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]\n [-N neue_Passphrase] [-O Option] [-w Anbieter]\n ssh-keygen -p [-f Schlüsseldatei] [-m Format] [-N neue_Passphrase]\n [-P alte_Passphrase]\n ssh-keygen -i [-f Eingabeschlüsseldatei] [-m Schlüsselformat]\n ssh-keygen -e [-f Eingabeschlüsseldatei] [-m Schlüsselformat]\n

Antwort1

Anstelle von doppelten Anführungszeichen können Sie auch einfache Anführungszeichen verwenden. Oder umgekehrt für das Kennwortfeld.

'chmod 700 /home/adminuser/.ssh && ssh-keygen -t rsa -f /home/adminuser/.ssh/id_rsa -P "" '

oder

„chmod 700 /home/adminuser/.ssh && ssh-keygen -t rsa -f /home/adminuser/.ssh/id_rsa -P '' “

verwandte Informationen