参考:
https://keysaim.github.io/post/git/2017-08-15-how-to-git-with-specific-ssh-key/
https://www.cnblogs.com/gentlescholar/p/16541434.html
https://www.cnblogs.com/chenkeyu/p/10440798.html
方式1:设置ssh 的指定key
1.生成指定的ssh key,当前要使用ed22519,不可用默认的rsa
ssh-keygen -t ed22519 -C "you@email.com"
2.在.ssh设置对应域名使用的key
~/.ssh/config中加入:
host github.com
HostName github.com
User git
ldentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host github.com
用来指定该key的Host名字,此处必须使用本地repo的hostname
github.com
。Hostname github.com
此处指定
Host
对应的具体域名,这里跟Host
保持一致。(Host
跟Hostname
可以不一致,但是Host
必须跟repo的hostname保持一致,也就是git到时候会用自己repo的hostname来ssh配置文件里面找是不是有对应的Host
,找到了就使用该配置,具体访问的域名会采用HostName
)User git
说明该配置的用户得是git
IdentityFile /Users/nbaoping/.ssh/id_rsa.github
这行最为关键,指定了该使用哪个ssh key文件,这里的key文件一定指的是私钥文件。之前我们生成了新的私钥文件
~/.ssh/id_rsa.github
,由于博主使用的是MAC,~
被翻译成/Users/nbaoping/
了,如果是在一般的Linux环境下,改路径前缀该是/home/nbaoping/
。IdentitiesOnly yes
请配置为
yes
,具体意义可以参考讨论。
将生成的ssh key加入github
打开github ssh key配置页面,点击New SSH Key
,给刚刚生成的key取名,如keysaim-mac
。把~/.ssh/id_rsa.github.pub
(请务必注意是公钥文件,千万不要搞错了)里面的内容拷贝过来,点击Add SSH Key
按钮保持
之后提交就可以了。
方式2:
git config core.sshCommand "ssh -i ~/.ssh/id_ed25519 -F /dev/null"
没有评论:
发表评论