为什么我在git clone上问密码?

时间:2014-11-07 18:33:24

标签: linux macos git ssh https

当我在Mac上运行时,一切正常:

git clone git@test.test-project.com:my_project

当我在家里运行并将我的家庭id_rsa.pub密钥复制到authorized_keys中的ssh项目时,ssh连接没问题,但克隆git repo需要密码,为什么?

重现的完整步骤:

git config --global user.name 'User Surname'
git config --global user.email 'user@email.com'
ls -al ~/.ssh # shows nothing 
ssh-keygen -t rsa -C "user@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub

将cliboard中的id_rsa.pub粘贴到github帐户 - &gt;设置 - &gt; ssh键 - &gt;添加并按Enter键,成功添加

ssh -T git@github.com

嗨用户!您已成功通过身份验证,但GitHub不提供shell访问权限。 将相同的id_rsa.pub粘贴到evernote

从我的工作mac,从evernote复制,并连接到ssh:

ssh portal@my-server.com
ee ~/.ssh/authorized_keys

将evernote中的id_rsa粘贴到文件末尾并保存文件。

cd my-rails-app/repo
git ls-remote

从stdout复制第一个字符串的一部分:

  

来自git@test.test-project.com:my_project

从家庭asus连接到ssh

ssh portal@my-server.com

一切都很好

git clone git@test.test-project.com:my_project

- &GT;所需密码

1 个答案:

答案 0 :(得分:0)

如果未正确配置ssh密钥,则git clone“git @ {host}”会尝试以用户“git”连接到{host},因此请求输入密码。因此,您需要修复/解决ssh密钥问题。

您的工作/ mac /家用电脑是否有不同的用户名?你在使用gitolite,gitlab等吗?如何在git中配置ssh.pub?

请注意,如果(1)“当我在我的Mac上运行它时,一切正常”,然后(2)“在家里运行并复制我的家庭id-rsa pub在授权密钥“中使用ssh项目的关键,这对git没有意义。您只启用ssh登录为“you”,而不是“git”。最简单的解决方案是“从你的mac”复制你的私人ssh密钥,并将其复制到你的“家庭”计算机的〜/ .ssh目录中。否则,您只需将家用计算机作为新用户添加到git服务器的配置中。