git clone without asking for users password

2019-07-07 17:32发布

I want to create public git repository on my dedicated server for anyone to clone but it keeps asking me for password for git user.

I have created user named git without password. Used:

passwd -d git

Unfortunately every time I try to do:

git clone git@myhost:myrepo.git

I'm getting asked for password.

I have tried setting in sshd_config

Match user git 
        PermitEmptyPasswords yes 
        PasswordAuthentication yes 

With either yes and no for PasswordAuthentication but still no use.

2条回答
可以哭但决不认输i
2楼-- · 2019-07-07 17:58

Same procedure as setup passwordless ssh login.

  1. generate a passphase less private/public key pair

    ssh-keygen <your-key-filename>
    
  2. ssh-copy-id to your host server

  3. add a config file under your client .ssh folder (note: this step is optional), the contents of the config file similar to the following:

    Host <git-server>
            Hostname <ip-of-your-git-server>
            User <your-git-user-name>
            Port <your-git-server-port>
            IdentityFile <path-to-your-private-key>
    
  4. try to login your host through ssh:

    ssh <git-server>
    
  5. now you can clone, push, pull, whatever to your git-server

Edit: try to google "password less ssh login" for more detail and tricks.

查看更多
Rolldiameter
3楼-- · 2019-07-07 18:21

It seems doing it over ssh is impossible. It will always ask for password unless you copy your public key.

The solution is to use git daemon and clone repository over git:// protocol

git clone git://hostname/directory

For more information about it I suggest git help daemon

Tip: Remember you need to give it read privileges. From my experience setting others: chmod -R o+r project.git won't work for some reason. You have to permit git access via either author or group. You can disallow write access to your repo on daemon level ( default behaviour ).

查看更多
登录 后发表回答