没有要求用户密码的git clone

时间:2015-12-05 00:41:02

标签: git bash ssh git-bash sshd

我想在我的专用服务器上创建公共git存储库,供任何人克隆,但它一直在问我git用户的密码。

我创建了没有密码的用户名为git。使用:

  

passwd -d git

不幸的是每次我尝试这样做:

  

git clone git @ myhost:myrepo.git

我被要求输入密码。

我尝试过设置sshd_config

Match user git 
        PermitEmptyPasswords yes 
        PasswordAuthentication yes 

PasswordAuthentication的是和否,但仍然没有用。

2 个答案:

答案 0 :(得分:2)

似乎在ssh上做这件事是不可能的。除非您复制公钥,否则它将始终要求输入密码。

解决方案是使用git daemon并通过git:// protocol

克隆存储库

git clone git://hostname/directory

有关它的更多信息,我建议git help daemon

提示: 记住你需要给它读取权限。根据我设置其他人的经验:chmod -R o+r project.git因某些原因无法工作。您必须通过作者或组允许git访问。您可以禁止在守护程序级别对您的repo进行写访问(默认行为)。

答案 1 :(得分:0)

与setup passwordless ssh login相同的过程。

  1. 生成一个passphase less private / public key pair

    ssh-keygen <your-key-filename>
    
  2. ssh-copy-id到您的主机服务器

  3. 在客户端.ssh文件夹下添加一个配置文件(注意:此步骤是可选的),配置文件的内容类似于以下内容:

    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. 尝试通过ssh登录您的主机:

    ssh <git-server>
    
  5. 现在您可以克隆,推送,拉取任何内容到您的git-server

  6. 编辑:尝试谷歌“密码少ssh登录”获取更多细节和技巧。