msysgit git 克隆忽略 ssh 配置
msysgit git clone ignores ssh config
我已经安装了 msysgit 并且 git 使用正确的 ssh.exe。所有命令都在msysgitshell(程序文件x86sh.exe)中执行。
然后我将我的 ~/.ssh/config 文件设置为这个
LogLevel DEBUG1
Host bitbucket.com
HostName bitbucket.com
PreferredAuthentications publickey
IdentityFile /d/ssh/bitbucket.ppk
IdentitiesOnly yes
那么ssh bitbucket.com
效果不错:
$ ssh bitbucket.com
debug1: Connecting to bitbucket.com [131.103.20.173] port 22.
debug1: Connection established.
debug1: identity file /d/ssh/bitbucket.ppk type -1
debug1: identity file /d/ssh/bitbucket.ppk-cert type -1
但是当我尝试 git clone git@bitbucket.org:User/reponame.git
ssh 时,调试消息显示 ssh 甚至不尝试选择 bitbucket ppk,而是尝试使用默认密钥:
$ git clone git@bitbucket.org:user/reponame.git
Cloning into 'reponame'...
debug1: Connecting to bitbucket.org [131.103.20.168] port 22.
debug1: Connection established.
debug1: identity file /c/Users/bob/.ssh/id_rsa type -1
debug1: identity file /c/Users/bob/.ssh/id_rsa-cert type -1
debug1: identity file /c/Users/bob/.ssh/id_dsa type -1
debug1: identity file /c/Users/bob/.ssh/id_dsa-cert type -1
debug1: identity file /c/Users/bob/.ssh/id_ecdsa type -1
debug1: identity file /c/Users/bob/.ssh/id_ecdsa-cert type -1
debug1: identity file /c/Users/bob/.ssh/id_ed25519 type -1
debug1: identity file /c/Users/bob/.ssh/id_ed25519-cert type -1
我没主意了。
$ where git
C:\Program Files (x86)\Git\bin\git.exe
C:\Program Files (x86)\Git\cmd\git.exe
git clone git@bitbucket.org:User/reponame.git
会查找 ~/.ssh/id_rsa
和 id_rsa.pub
,而不是 /d/ssh/bitbucket.ppk
.
应该起作用的(因为 ssh bitbucket.com
起作用)是:
git clone bitbucket.com:User/reponame.git
这实际上会使用 ~/.ssh/config
文件中定义的参数。
bitbucket.com
是配置文件中的条目(它实际上可以命名为任何名称),但 HostName
必须确实是 bitbucket.org
,这是 Git 存储库。
原因是我自己注意力不集中。 Bitbucket 使用 bitbucket.org 进行回购。 Afaik,在它使用 bitbucket.com.
之前
我已经安装了 msysgit 并且 git 使用正确的 ssh.exe。所有命令都在msysgitshell(程序文件x86sh.exe)中执行。 然后我将我的 ~/.ssh/config 文件设置为这个
LogLevel DEBUG1
Host bitbucket.com
HostName bitbucket.com
PreferredAuthentications publickey
IdentityFile /d/ssh/bitbucket.ppk
IdentitiesOnly yes
那么ssh bitbucket.com
效果不错:
$ ssh bitbucket.com
debug1: Connecting to bitbucket.com [131.103.20.173] port 22.
debug1: Connection established.
debug1: identity file /d/ssh/bitbucket.ppk type -1
debug1: identity file /d/ssh/bitbucket.ppk-cert type -1
但是当我尝试 git clone git@bitbucket.org:User/reponame.git
ssh 时,调试消息显示 ssh 甚至不尝试选择 bitbucket ppk,而是尝试使用默认密钥:
$ git clone git@bitbucket.org:user/reponame.git
Cloning into 'reponame'...
debug1: Connecting to bitbucket.org [131.103.20.168] port 22.
debug1: Connection established.
debug1: identity file /c/Users/bob/.ssh/id_rsa type -1
debug1: identity file /c/Users/bob/.ssh/id_rsa-cert type -1
debug1: identity file /c/Users/bob/.ssh/id_dsa type -1
debug1: identity file /c/Users/bob/.ssh/id_dsa-cert type -1
debug1: identity file /c/Users/bob/.ssh/id_ecdsa type -1
debug1: identity file /c/Users/bob/.ssh/id_ecdsa-cert type -1
debug1: identity file /c/Users/bob/.ssh/id_ed25519 type -1
debug1: identity file /c/Users/bob/.ssh/id_ed25519-cert type -1
我没主意了。
$ where git
C:\Program Files (x86)\Git\bin\git.exe
C:\Program Files (x86)\Git\cmd\git.exe
git clone git@bitbucket.org:User/reponame.git
会查找 ~/.ssh/id_rsa
和 id_rsa.pub
,而不是 /d/ssh/bitbucket.ppk
.
应该起作用的(因为 ssh bitbucket.com
起作用)是:
git clone bitbucket.com:User/reponame.git
这实际上会使用 ~/.ssh/config
文件中定义的参数。
bitbucket.com
是配置文件中的条目(它实际上可以命名为任何名称),但 HostName
必须确实是 bitbucket.org
,这是 Git 存储库。
原因是我自己注意力不集中。 Bitbucket 使用 bitbucket.org 进行回购。 Afaik,在它使用 bitbucket.com.
之前