Search code examples
gitsshgitosisssh-keys

How do i allow a second/third/etc.. computer to connect to my git server using ssh and gitosis?


I followed the guide here http://www.hackido.com/2010/01/installing-git-on-server-ubuntu-or.html

but I cannot find the proper way to import another ssh key so my other computers can clone and push the repos.

this code specifically sudo -H -u git gitosis-init < /tmp/id_rsa.pub perks my ears as it seems to import only one key to the git user. I tried running the same command with an authorized_keys file containing both my public keys but that did not work.

Any advice? thanks

UPDATE

I cloned gitosis-admin locally on the server using my local user. I scp my .pub files from each computer to my server then renamed them and stuck them in gitosis-admin/keydir/ . I then made the following changes to the gitosis.conf file per @rpflo advice.

[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = serv

[group all-repos]
writable = myproject
members = serv work win7top

after successfully committing and pushing the changes I still cannot git push "git@server:myproject.git" to the server (after init and setting origin etc..)

hmmm

[SOLVED]

well it tuns out i didn't "git add . " my key files to gitosis-admin/keydir after i edited the conf file.

thanks for the help


Solution

  • If gitosis is installed correctly you simply add a key to the keys directory of your gitosis repository

    gitosis-admin/
        gitosis.conf
        keydir/
            sally.pub
            joe.pub
            bob.pub
    

    Then in gitosis.conf you create groups

    [group gitosis-admin]
    writable = gitosis-admin
    members = joe
    
    [group all-repos]
    writable = repo1 repo2 another-project
    members = joe bob sally