生成秘钥对
ssh-keygen -t rsa -C "youremail"
注意这里的 youremail 必须和 .gitconfig
中的邮箱地址一致!
git config user.email
上传秘钥
然后将生成的 id_rsa.pub
上传到 github => Settings => SSH and GPG keys
测试 ssh,如下信息表示成功:
$ssh -T git@github.com
Hi YourgithubName! You've successfully authenticated, but GitHub does not provide shell access.
配置本地仓库
修改本地仓库中的 .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
sshCommand = ssh -i ../../.ssh/id_rsa
[remote "origin"]
url = git@github.com:YourAccount/YourRepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
需要注意
只有远程仓库的地址是:
git@github.com:YourAccount/YourRepo.git
才可以启用秘钥,通过ssh传输
否则,如果地址是https格式,仍然需要输入密码登入。