使用Powershell的git ssh在ssh-agent中找不到IdentityFile

时间:2018-06-14 15:13:26

标签: git powershell ssh posh-git

这让我疯了。

以下是ssh-agent知道的内容:

> ssh-add -l
2048 SHA256:JHUL/QtZf4e6rle0yRVEy7jVThtdNJ0SH+Wy1kf5th8 C:\Users\tig\.ssh\foocorp_rsa (RSA)
2048 SHA256:JPyqmrvgX/abfXDzrrf1p2c1wgPn19uj7xthJeCzOSs \users\tig\.ssh\id_rsa (RSA)

我的/.ssh/config

Host         gitlab.foocorp.com
HostName       gitlab.foocorp.com
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/foocorp_rsa

我已完成ssh-add并输入了我的密码。

如果我执行以下操作,系统不会提示您输入foocorp_rsa密码:

> ssh -v gitlab.foocorp.com
OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4
debug1: Reading configuration data C:\\Users\\tig/.ssh/config
...
debug1: Offering public key: RSA SHA256:JHUL/QtZf4e6rle0yRVEy7jVThtdNJ0SH+Wy1kf5th8 C:\\Users\\tig/.ssh/foocorp_rsa 
...
Welcome to GitLab, Tig!

请注意路径语法:C:\\Users\\tig/.ssh/foocorp_rsa

我有git调试选项,所以我可以看到它在做什么($env:GIT_SSH_COMMAND="ssh -v")。

> git pull
...
OpenSSH_7.7p1, OpenSSL 1.0.2o  27 Mar 2018
debug1: Reading configuration data /c/Users/tig/.ssh/config
debug1: /c/Users/tig/.ssh/config line 49: Applying options for    gitlab.foocorp.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to gitlab.foocorp.com [10.11.11.67] port 22.
debug1: Connection established.
...
debug1: Host 'gitlab.foocorp.com' is known and matches the ECDSA host key.
debug1: Found key in /c/Users/tig/.ssh/known_hosts:18
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:JHUL/QtZf4e6rle0yRVEy7jVThtdNJ0SH+Wy1kf5th8 /c/Users/tig/.ssh/foocorp_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
Enter passphrase for key '/c/Users/tig/.ssh/foocorp_rsa':

它不应该问我密码,但它是!

我只能说ssh-agent与身份文件路径不匹配。它正在存储C:\Users\tig\.ssh\foocorp_rsa,但是由git / ssh /c/Users/tig/.ssh/foocorp_rsa传递,而不是匹配它们。

或者,我完全不了解这是如何工作的。

我不知道这是否与Powershell和Windows或其他相关。我以前从未遇到过这个问题。

有任何想法或建议吗?

0 个答案:

没有答案