Heim  >  Fragen und Antworten  >  Hauptteil

Git里的SSH key该如何使用?

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

ssh -T git@github.com

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

PHP中文网PHP中文网2739 Tage vor642

Antworte allen(5)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-21 11:19:02

    编辑项目目录下的.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认证

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 11:19:02

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

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-21 11:19:02

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

    Antwort
    0
  • 阿神

    阿神2017-04-21 11:19:02

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

    Antwort
    0
  • 高洛峰

    高洛峰2017-04-21 11:19:02

    昨天正好我也遇到这个问题,每次提交都要输入密码,后来克隆的时候用ssh,就不能输密码了。。。

    Antwort
    0
  • StornierenAntwort