git 克隆而不询问用户密码

git clone without asking for users password

我想在我的专用服务器上创建 public git 存储库供任何人克隆,但它一直要求我输入 git 用户的密码。

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

passwd -d git

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

git clone git@myhost:myrepo.git

系统要求我输入密码。

我试过在sshd_config

中设置
Match user git 
        PermitEmptyPasswords yes 
        PasswordAuthentication yes 

PasswordAuthentication 是或否,但仍然没有用。

与设置无密码 ssh 登录相同的过程。

  1. 生成较少的密码 private/public 密钥对

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

  3. 在你的客户端.ssh文件夹下添加一个config文件(注意:这一步是可选的),config文件的内容类似如下:

    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

编辑:尝试 google "password less ssh login" 了解更多细节和技巧。

似乎无法通过 ssh 进行操作。除非您复制 public 密钥,否则它将始终要求输入密码。

解决方案是使用 git daemon 并通过 git:// 协议克隆存储库

git clone git://hostname/directory

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

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