关于使用git时存在的permission denied问题

关于使用git时存在的permission denied问题

我在使用git时,在把本地文件上传到网络上的git仓库时,在git push完,并按照要求输入网站密码后,终端总会提示 permission denied并要求再次输入密码,在一番搜索之后,我才搞明白问题所在,原来是ssh密钥的设置出现了问题.

在使用并注册ssh密钥时,首先要在终端里找到~下面的.ssh目录,ls一下看看里面有没有密钥文件,就是一个文件加上另一个文件相同但是后缀为.pub的文件,如果没有的话,ssh -keygen -t 文件名 -C 你的电子邮箱地址 然后输入 ssh-add 之前你设置的文件名 然后系统会提示你输入密码,enter表示不设置密码,在这之后,ls一下,把.pub文件里面的内容复制下来,到你所在的git网站,在增加ssh密钥里把这些添加到密钥描述中去,之后就会提示成功添加密钥,现在可以尝试着重新git push上传文件了,不行的话就重新clone一下

2 Replies to “关于使用git时存在的permission denied问题”

  1. 是不是要求通过git协议向服务器提交数据才能使用ssh key?如果是通过https协议向服务器提交数据,貌似ssh key无效?也就是说,git clone的时候要复制git开头的网址,而不是https开头的网址。

    你测试和验证一下如何?

  2. 经过我昨天的实验,确实是只能通过git协议向服务器传输数据才能使用ssh key,如果使用http协议的话,就会产生如下的报错信息
    remote: invalid token
    fatal: Authentication failed for ‘http://softlab.sdut.edu.cn:3000/leiyuchen/ceil.git/’
    我又从网上查了一下git向服务器传输数据的协议,发现git的传输协议分为两种,简单说就是有一种是使用http协议的,另一种是使用git协议,使用http协议简单,但是效率太低,基本上现在都是使用git协议,也被称为smart协议

发表评论

电子邮件地址不会被公开。 必填项已用*标注

跳至工具栏