我为我的GitLab仓库创建了一个SSH密钥,当我使用SSH进行测试时,它可以工作并要求输入密码:
>ssh -T git@gitlab.lrz.de
Enter passphrase for key 'C:\Users\[username]/.ssh/id_ed25519':
Welcome to GitLab, @000[...]!
我也使用过
>git remote set-url origin git@gitlab.lrz.de:000[...]/project.git
没有错误。然而,当我试图提交并推送到存储库时,Git会要求git@gitlab.lrz.de
的密码,而不是SSH密钥的密码。
根据文档(https://docs.gitlab.com/ee/ssh/),您可以在配置文件~/.ssh/config
中设置SSH密钥。因此,我在该目录下创建了一个文本文件,并添加了以下内容:
Host gitlab.lrz.de
HostName gitlab.lrz.de
IdentityFile ~/.ssh/id_ed25519
它仍然无法正常工作,我不确定它是否使用了这个配置文件。我已经在Linux服务器上成功运行了所有内容,但在这台Windows电脑上却没有成功。我尝试过通过命令行和Pycharm来运行它。
>git --version
git version 2.35.1.windows.1
C:\Users\username
)的主目录,在创建ssh
密钥或使用ssh
时,会使用此位置。但是,每个用户还在另一台服务器上拥有家目录,并且显然git将~
解释为此目录(P:
)。实际上,那里也有一个.ssh
文件夹和一个配置文件。 - Godrebh