此刻我通过gitosis添加了一个git repo。我使用的手册是http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
我可以克隆它并通过私有和公共的ssh auth推送它 键(在gentoo上),但是使用Git Extensions的Windows用户 不能。 SSH密钥放在$ HOME / .ssh中,ssh要求输入密码。 密码或密码(来自私人ssh密钥)也不匹配。
Redmine需要一个裸露的回购,所以我克隆了我的gitosis回购 本地机器并将其移动到服务器(redmine + git),然后尝试 像这里显示的同步 http://www.redmine.org/projects/redmine/wiki/HowTo_keep_in_sync_your_git_repository_for_redmine 但它再次要求输入密码!当然,我没有把他的阿帕奇 自己的ssh键auth gitosis = _ =(Apache是redmine bare的所有者 repo,因为它通过http auth)
无论如何,问题是如何在访问gitosis时使用文件中的私有ssh密钥?
===
部分解决了!
ssh-keygen -t rsa
生成密钥,其名称正好是 id_rsa 和 id_rsa.pub 。
如果您运行ssh -vvv gitosis@your-server.com
,您应该会看到与
debug1: Authentications that can continue: publickey,keyboard-interactive
…
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: user@domain-user
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/user/.ssh/id_rsa
debug3: no such identity: /home/user/.ssh/id_rsa
debug1: Trying private key: /home/user/.ssh/id_dsa
debug3: no such identity: /home/user/.ssh/id_dsa
debug1: Trying private key: /home/user/.ssh/id_ecdsa
debug3: no such identity: /home/user/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
因此,ssh客户端需要准确命名的文件或将切换到下一个auth方法(密码)。现在我在家用机器上重命名了键:
user@home ~ $ git clone ssh://git@your-gitosis-server/reponame.git
Cloning into reponame...
Enter passphrase for key '/home/user/.ssh/id_rsa':
Hurray,它要求密码! BTW,ШIИDOШS™用户仍然存在数十个生成密钥的问题。
UPD
如果你使用OpenSSH,那么在〜/ .ssh中你可以创建一个名为'config'的文件,并把它放在这样的东西:
Host mygitosisserver.com
IdentityFile ~/.ssh/private-key-for-mygitosisserver-com
答案 0 :(得分:4)
Windows用户也应该能够克隆(使用ssh),如果他们已经定义了%HOME%环境变量。
HOME未默认定义。
它可以引用他们想要的任何目录(通常,一个与%HOMEPATH%
相同)
严格遵循使用puttygen生成密钥的手册解决了Windows用户的问题 在Windows中制作的新密钥对工作正常
答案 1 :(得分:0)
ssh-keygen -t rsa -C "your_github_email@example.com"
cat /home/ubuntu/.ssh/github_rsa.pub
ssh -T git@github.com
从存储库复制ssh网址
使用ssh URL复制克隆-时钟使用SSH 如第一个屏幕截图
git remote set-url origin git@github.com:JinnaBalu / GitCheatSheet.git
git add --all
git commit -am "testing the changes"
git push -u origin master