2017-05-09 77 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