Git 使用指定的密钥
默认情况,Git 会使用 ~/.ssh/id_ecdsa
来登录远程仓库,比如登录 github.com
。我这里使用的是 ecdsa
算法,所以是 id_ecdsa
。
怎么样使用指定的密钥呢?比如使用 id_ecdsa_123
。创建 ssh 配置文件 config
即可:
1 | vim ~/.ssh/config |
配置文件的含义:
Host github.com
:指定一个主机HostName github.com
:上面指定的主机的主机名User git
:登录该主机的用户名,如果是登录github.com
,就必须是git
IdentityFile ~/.ssh/id_ecdsa_github
:关键配置,这里指定了使用哪个私钥文件IdentitiesOnly yes
:它指示 ssh 仅使用在命令行上指定的私钥文件或在config
文件中配置的私钥文件
使用密钥克隆
配置完上面的 config
文件之后,就可以使用指定的私钥文件来克隆。比如:
1 | git clone git@github.com:jasonz666/shell-utils |
使用密钥提交修改
如果我们使用 HTTPS 方式克隆了一个仓库,而不是像上面那样使用 SSH 密钥方式。先要将 SSH 密钥登录远程服务器 github.com
的方式关联到本地仓库。执行:
1 | # 进入本地仓库目录 |
使用 SSH 密钥方式提交:
1 | $ git push ssh master |
参考:
https://www.jianshu.com/p/82aa1678411e
https://www.howtoing.com/fix-ssh-too-many-authentication-failures-error