2017-05-09 75 views
0

目标是在不提供任何密码的情况下克隆Visual Studio Team Services中的Git存储库。更进一步的目标是完全非交互式地完成,完全没有任何提示。通过SSH从VSTS克隆Git回购请求密码!意外的

问题描述:

操作系统为Windows Server 2016。比方说,我的用户名是蝙蝠侠。 我已经在Windows中设置了私钥(无密码)C:\Users\batman\.ssh\id_rsa

我在VSTS中为我的用户帐户添加了公钥。都好。

我想克隆存储库,并且VSTS Web UI为我提供了一个到存储库的SSH URL。我用它在下面的命令,我执行:

git clone ssh://[email protected]:22/MyProject/_git/MyRepo

响应:

Cloning into 'MyRepo'... 
Enter passphrase for key '/c/Users/batman/.ssh/id_rsa': 
[email protected]'s password: 

因此,首先,它要求在那里我只需按Enter键,但最后一行是混乱的关键密码。我应该输入什么密码,为什么要问这个密码?如何让它不问它?如何使克隆命令根本不要求任何东西?

回答

1

首先,它要求的密码将私钥:

Enter passphrase for key '/c/Users/batman/.ssh/id_rsa': 

从您的意见(在现在删除回答)我了解,你曾用腻子生成密钥,而且我怀疑你的关键是不正确的格式(maybe this will help?)(or this?),请确保它始于:

-----BEGIN RSA PRIVATE KEY----- 

结束3210

反正公钥验证失败,所以它然后请求mycompany帐户的密码:

[email protected]'s password: 

如果公钥验证成功这将不会发生。

+0

太好了,就是这样!关键在于不同的格式。现在,我将Putty Key Generator中的密钥作为“OpenSSH密钥”导出,现在“克隆”不会像目标一样提示任何事情。谢谢! – alvarez