Git里的SSH key该如何使用?

按照Github的帮助文档,将生成的SSH key添加到GitHub里了,通过下面的测试代码也返回成功了

ssh -T git@github.com

ssh key在登录服务器的时候可以不用每次输入用户名和密码,我以为git里也是提供这个功能,但是在命令行中提交私有仓库代码的时候,每次还是要输入用户名和密码,到底这key正确的使用方法是怎样的呢?

阅读 32.1k
5 个回答

编辑项目目录下的.git/config文件

找到:

[remote "origin"]
    url =https://github.com/hit9/hit9.github.com.git
    fetch = +refs/heads/*:refs/remotes/origin/*

把url处改成ssh地址:

[remote "origin"]
    url =git@github.com:hit9/hit9.github.com.git
    fetch = +refs/heads/*:refs/remotes/origin/*

url是 https的时候会采用用户名认证. 是ssh地址的时候才会采用ssh认证

之前我遇到这个问题,将 HTTPS 协议的 remote 地址,改成 SSH(git@github.com:name/code.git) 的就行了。
版本库的SSH方式和HTTPS方式是不同的,表面上是url信息的不同,但是,实际的认证机制也是不同的。当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码 。

要输入密码应该是github那边做的安全策略,输入的是github的用户名和密码

可以通过以下命令修改,将HTTPS分支改为SSH分支,作用同修改.git/config文件
git remote rm origin
git remote add origin git@github.com:twlkyao/demo.git
git push origin

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进