ssh密钥未在服务器上为Github进行身份验证

时间:2016-03-01 10:11:34

标签: git ssh

我通过ssh密钥面临Git身份验证问题。我在ssh文件夹中的服务器上使用命令ssh-keygen -t rsa创建了home/projectname/.ssh密钥。然后将此密钥添加到https://github.com/settings/ssh中的Github帐户。

当我试图将下面的代码拉出时发生错误(请检查附加图像)

Permission denied (public key)

让我知道问题是什么,我该如何解决?

我试过的步骤

  • 尝试创建新的公钥
  • 删除known_hosts文件以重新创建
  • 检查文件夹权限和用户详细信息
  • 使用sudo enter image description here

3 个答案:

答案 0 :(得分:0)

问题是当你在/home/projectname/.ssh中保存文件时,github正在/home/.ssh目录中查找ssh密钥

您必须在/home/.ssh目录中添加一个包含以下内容的配置文件

Host github-project1
User git
HostName github.com
IdentityFile ~/projectname/.ssh/filename.key

答案 1 :(得分:0)

创建SSH配置文件

Open a terminal window.
Edit the ~/.ssh/config file. 

如果您没有配置文件,请创建一个。
为每个标识组合添加别名,例如:

Host workid
HostName bitbucket.org
IdentityFile ~/.ssh/workid

Host personalid
HostName bitbucket.org
IdentityFile ~/.ssh/personalid

<强> How to add ssh key to github account?

  • 登录github帐户
  • 点击右上角的牧场主(设置)
    github account settigns
  • 点击SSH keys
    ssh key section
  • 点击Add ssh key
    Add ssh key
  • 粘贴您的密钥并保存

你们都准备出发了: - )

答案 2 :(得分:0)

解决方案#1:

ssh-add /home/projectname/.ssh/id_rsa git pull origin master

解决方案#2(对于最近的git版本)

GIT_SSH_COMMAND='ssh -i /home/projectname/.ssh/id_rsa' git pull origin master

如果解决方案#2有效,您可以将GIT_SSH_COMMAND='ssh -i /home/projectname/.ssh/id_rsa'添加到~/.profile(或~/.bash_profile,无论存在的是什么),而不是在登录时设置。