automate ssh-keygen for github in powershell

4.3k views Asked by At

Is there a way to automate the ssh-keygen method in powershell? I'm trying to do it with the following code, but it requires the user to enter a password.

# Create your GitHub SSH Key
$MyEmailAddress = "[email protected]"
if (! (Test-Path  ("~/.ssh/id_rsa_test"))){

    ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test"

}

I tried entering the password switch, but then it complains that the password is null.

# either
ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test" -N ""

# or 
ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test" -N "$null"

I don't want a password in my key.

PS: I'm using poshgit which depends on mysysgit.

1

There are 1 answers

4
sschuberth On BEST ANSWER

PowerShell seems to remove the empty double quotes and probably requires to escape them. Using """" instead of "" seems to work. Also, I believe one should use -P (passphrase) instead of -N (new passphrase in case you change it). So the final command line would be

ssh-keygen -t rsa -C "$MyEmailAddress" -f "id_rsa_test" -P """"