如何通过ssh(gitosis)访问git repo时包含ssh private rsa密钥?

tij*_*agi 5 git ssh gitosis gitolite git-extensions

这时我通过gitosis添加了一个git repo.我使用的手册是http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

  1. 我可以克隆它并通过私有和公共密钥(在gentoo上)通过ssh auth推送它,但是使用Git Extensions的Windows用户不能.SSH密钥放在$ HOME/.ssh中,ssh要求输入密码.也没有密码,也没有密码(来自私人ssh密钥)不匹配.

  2. Redmine需要一个裸仓库,所以我克隆了我本地机器上的gitosis回购并将其移动到服务器(redmine + git),然后尝试同步如此显示 http://www.redmine.org/projects/redmine/wiki/HowTo_keep_in_sync_your_git_repository_for_redmine 但它再次要求输入密码!当然我没有使用apache自己的ssh密钥来auth gitosis = _ =(Apache是​​redmine bare repo的所有者,因为它通过http auth访问它)

无论如何,问题是如何在访问gitosis时使用文件中的私有ssh密钥?

===

部分解决了! ssh-keygen -t rsa生成密钥,其名称正好是id_rsaid_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
Run Code Online (Sandbox Code Playgroud)

因此,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':
Run Code Online (Sandbox Code Playgroud)

华友世纪,它要求密码!BTW,ШIИDOШS™用户仍然遇到数十个生成密钥的问题.

UPD

如果您使用OpenSSH,那么在〜/ .ssh中,您可以创建一个名为'config'的文件并放置如下:

Host mygitosisserver.com
IdentityFile ~/.ssh/private-key-for-mygitosisserver-com
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 4

如果 Windows 用户定义了 %HOME% 环境变量,他们也应该能够克隆(使用 ssh)。
默认情况下未定义 HOME。
它可以引用他们想要的任何目录(通常,一个与 相同%HOMEPATH%


OP user685107报告:

Windows 用户的问题通过严格遵循 puttygen 密钥生成手册得到解决。
Windows 中制作的新密钥对工作正常