我使用GitHub来管理我的代码。我已经添加了通过ssh-keygen
命令生成的公共ssh密钥。
但是,当我想使用git push
命令推送时,它需要我提供用户名和密码。 GitHub显示我的SSH密钥从未使用过。我不想每次都提供用户名和密码。
答案 0 :(得分:2)
尝试更改远程网址:
git remote set-url origin git@github.com:user/repository
通过这种方式,Git将使用SSH协议而不是(可能的)HTTPS协议进行通信,这就是每次都要求输入用户名和密码的原因。
我个人认为这是$HOME/.ssh/config
:
Host GitHub github
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
PubKeyAuthentication yes
我将本地存储库的远程URL设置为
git remote set-url origin GitHub:iBug/SomeRepo
您可以使用git remote get-url origin
验证您是否拥有正确的远程网址:
ibug@linux:~/myrepo $ git remote get-url origin
git@github.com:iBug/myrepo
如果SSH远程主机配置正确,请尝试ssh -T github
:
ibug@linux:~ $ ssh -T -i ~/.ssh/id_rsa git@github.com
Hi iBug! You've successfully authenticated, but GitHub does not provide shell access.
答案 1 :(得分:0)
您需要add that public key to your GitHub account。
您需要检查一个简单的ssh -T git@github
,即您看到“欢迎”消息。