按照Github的帮助文档,将生成的SSH key添加到GitHub里了,通过下面的测试代码也返回成功了
ssh -T git@github.com
ssh key在登录服务器的时候可以不用每次输入用户名和密码,我以为git里也是提供这个功能,但是在命令行中提交私有仓库代码的时候,每次还是要输入用户名和密码,到底这key正确的使用方法是怎样的呢?
认证高级PHP讲师
编辑项目目录下的.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 origingit remote add origin git@github.com:twlkyao/demo.gitgit push origin
git remote rm origin
git remote add origin git@github.com:twlkyao/demo.git
git push origin
昨天正好我也遇到这个问题,每次提交都要输入密码,后来克隆的时候用ssh,就不能输密码了。。。
编辑项目目录下的.git/config文件
找到:
把url处改成ssh地址:
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
昨天正好我也遇到这个问题,每次提交都要输入密码,后来克隆的时候用ssh,就不能输密码了。。。