Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include ssh private rsa key when accessing git repo via ssh (gitosis)?

At this moment I've got one git repo added through gitosis. The manual i used is http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

  1. I can clone it and push in it via ssh auth with private and public keys (on gentoo), but windows users which are using Git Extensions can not. SSH keys placed in $HOME/.ssh, and ssh asks for a password. Nor password, nor passphrase (from private ssh key) don't match.

  2. Redmine needs for a bare repo, so i cloned repo from gitosis on my local machine and moved it to server (redmine + git), then tried to sync like showed here http://www.redmine.org/projects/redmine/wiki/HowTo_keep_in_sync_your_git_repository_for_redmine But it asks for a password again! Of course I didn't make apache his own ssh keys to auth gitosis =_= (Apache is owner of redmine bare repo, cause it access it through http auth)

Anyway the question is how to use private ssh key from file when accessing to gitosis?

===

Partially solved! ssh-keygen -t rsa generates keys, which names are exactly id_rsa and id_rsa.pub. if you run ssh -vvv [email protected] you should see something similar to

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

So, ssh client wants exactly named files or will switch to next auth method (password). Now i renamed keys on my home machine and:

user@home ~ $ git clone ssh://git@your-gitosis-server/reponame.git
Cloning into reponame...
Enter passphrase for key '/home/user/.ssh/id_rsa':

Hurray, it asks for a passphrase! BTW, ШIИDOШS™ users are still having problems with their tens of generated keys.

Upd

If you use OpenSSH, then in ~/.ssh you may create a file named ‘config’ and put there something like this:

Host mygitosisserver.com
IdentityFile ~/.ssh/private-key-for-mygitosisserver-com
like image 440
tijagi Avatar asked Oct 10 '22 11:10

tijagi


1 Answers

Windows users should be able to clone as well (with ssh), if they have defined the %HOME% environment variable.
HOME isn't defined by default.
It can reference any directory they want (usually, one takes the same than %HOMEPATH%)


The OP user685107 reports:

Problem with windows users was solved by strictly following the manual of key generation with puttygen.
new key pair maked in windows works fine

like image 163
VonC Avatar answered Nov 16 '22 19:11

VonC