问题
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 = "some.user@github.com"
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:
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 """"
.
来源:https://stackoverflow.com/questions/18669766/automate-ssh-keygen-for-github-in-powershell