git clone without asking for users password

前提是你 提交于 2019-12-22 08:28:53

问题


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.


回答1:


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 ).




回答2:


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.



来源:https://stackoverflow.com/questions/34099843/git-clone-without-asking-for-users-password

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!