使用PowerShell脚本提供SSH密钥密码

时间:2017-07-21 10:59:18

标签: git powershell ssh

每天早上我都会上班并执行一些git命令,让我了解我的团队。它们如下:

git remote update
git merge main/master

我使用PowerShell作为我的首选命令行工具,每当我输入第一个命令(git remote update)时,我都会收到提示,询问我的SSH密钥密码:

  

输入密钥'/c/Users/myUsername/.ssh/id_rsa'的密码:

通常我会继续进行此操作,但我希望使用PowerShell脚本自动执行此过程。我所做的就是将我的密码短语放入.txt文件中(不是最安全的,但是一旦管道工作,我就可以解决这个问题)并且每次运行脚本时都将其解除。但我看不出将它传递给命令的方法?这是我的代码:

Set-Location C:\path\to\repo
$pass = Get-Content C:\path\to\passphrase.txt -First 1
git remote update
git merge main/master

我预计,一旦git remote update运行,它会像往常一样提示我使用密码,然后继续,并计划从那里构建,但事实并非如此。它只是失败了一个git错误:

git : Permission denied, please try again.
At line:3 char:1
+ git remote update
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Permission denied, please try again.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

如何将密码$pass传递给git remote update命令?

0 个答案:

没有答案