目标是在不提供任何密码的情况下克隆 Visual Studio Team Services 中的 Git 存储库。进一步的目标是完全非交互式地完成,根本没有任何提示。
问题描述:
操作系统是Windows Server 2016。假设我的用户名是batman。我已经在 Windows 中设置了私钥(没有密码)C:\Users\batman\.ssh\id_rsa。
我在 VSTS 上为我的用户帐户添加了公钥。都好。
我想克隆存储库,VSTS Web UI 为我提供了一个存储库的 SSH URL。我在我执行的以下命令中使用它:
git clone ssh://mycompany@mycompany.visualstudio.com:22/MyProject/_git/MyRepo
响应:
Cloning into 'MyRepo'...
Enter passphrase for key '/c/Users/batman/.ssh/id_rsa':
mycompany@mycompany.visualstudio.com's password:
Run Code Online (Sandbox Code Playgroud)
所以首先它会要求输入密钥密码,我只需按 Enter 键,但最后一行令人困惑。我应该输入什么密码,为什么要问它?怎么让它不问呢?如何使克隆命令根本不问任何问题?
我正在尝试保存我的 git 密码以避免每次都输入。
我在 Windows 10 上使用 git bash。
每次我点击远程时,git 都会继续要求输入密码。
(是 git bash 为什么它不起作用?)
我试过了:
git config --global credential.helper 'cache --timeout 28800'
Run Code Online (Sandbox Code Playgroud)
和:
git config --global credential.helper store
Run Code Online (Sandbox Code Playgroud)
和:
git config --global credential.helper wincred
Run Code Online (Sandbox Code Playgroud)
我已经在 git bash 和 cmd 中都试过了,所以我猜不是 git bash 导致了这个问题。
我可以访问gitlab可以克隆的特定(内部)存储库(已ssh在服务器上配置了我的密钥):
git clone git@mygitlabserver:mynamespace/myproject.git
Run Code Online (Sandbox Code Playgroud)
pip但是,当尝试通过以下位置的特定工件直接安装时tag:
pip install git+ssh://mygitlabserver:mynamespace/myproject.git@v0.2.0#egg=myartifact
Run Code Online (Sandbox Code Playgroud)
我收到密码提示。
我还尝试过以下方法:
pip install git+ssh://atemporaryTOKENofmine@mygitlabserver:mynamespace/myproject.git@v0.2.0#egg=myartifact
pip install git+ssh://oauth2:atemporaryTOKENofmine@mygitlabserver:mynamespace/myproject.git@v0.2.0#egg=myartifact
pip install git+ssh://gitlab-ci-token:atemporaryTOKENofmine@mygitlabserver:mynamespace/myproject.git@v0.2.0#egg=myartifact
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
编辑:建议的重复项无法解决我的问题,因为它不是受密码保护的密钥的情况,而是使用了错误的网址。
感谢@nils-werner 解决了这个问题(检查已接受的答案)
我最近尝试在 Github 上克隆我自己的一个存储库。
我有一段时间没有克隆存储库了,因此;我忘记了“SSH 密钥密码”并且无法克隆它。
我正在运行“macOs Monterey”。
我找遍了所有地方,但在我的 Mac 上却找不到它。
我搜索了StackOverflow和StackExchange,我看到的只是如何验证/检查/测试/验证我的 SSH 密码?和SSH 密钥 - 仍然要求输入密码和密码,但它们都已过时,只说删除它并重新开始。
即使Github也说要更改它,但要做到这一点,你必须知道旧的密码。它没有提及“如何在 MacOS 上找到我的 SSH 密钥密码? ”