Git服务器允许拉动和推送没有私钥

Bir*_*rla 6 git

在Ubuntu 12.04计算机上,我按照本指南安装了git-server:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-git-server-on-a-vps

即使在将pub键添加到authorized_keys文件之后,没有私钥的任何人都能够克隆并将新提交推送到服务器.什么可能导致这个问题?

pat*_*yts 0

您可以通过使用一个小脚本并定义 GIT_SSH 来获取 ssh 连接的详细跟踪,以便在 git 连接到您的服务器时使用该脚本。

#!/bin/sh
exec ssh -v $@
Run Code Online (Sandbox Code Playgroud)

export GIT_SSH=$HOME/ssh-debug/或无论你如何称呼这个文件。该-v标志打开来自 ssh 的详细消息,您可以看到哪个阶段允许连接。在针对我的服务器进行测试时,我可以看到它尝试加载各种密钥,然后要求输入密码来解锁密钥文件。如果我提供了错误的密码,它会继续尝试在服务器上进行密码登录。可能您已允许在帐户上使用空密码进行密码登录git,然后授权任何人。但是,我认为详细记录 ssh 连接应该可以揭示问题。

上面的脚本也适用于 Windows 客户端。set GIT_SSH=c:\pathwithoutspace\ssh-debug如果您使用 cmd shell,则只需使用。