首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git服务器允许在没有私钥的情况下进行拉取和推送

Git服务器允许在没有私钥的情况下进行拉取和推送
EN

Stack Overflow用户
提问于 2014-10-02 10:40:59
回答 3查看 281关注 0票数 6

在Ubuntu12.04机器上,我按照以下指南安装了git-server:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-git-server-on-a-vps

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

EN

回答 3

Stack Overflow用户

发布于 2014-10-08 16:34:17

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

代码语言:javascript
复制
#!/bin/sh
exec ssh -v $@

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

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

票数 0
EN

Stack Overflow用户

发布于 2014-10-08 19:52:51

可能您的SSH服务器允许使用用户名和密码登录。可以通过服务器上sshd_config中的PasswordAuthentication no将其禁用。

Git更新:很多人认为有类似于“管理”的东西。通常情况下没有这样的事情。Git管理主要包括SSH守护进程配置和SSH服务器的任何配置,只要使用SSH协议,Git就会利用它。

票数 0
EN

Stack Overflow用户

发布于 2014-10-15 13:56:11

您正在为所有用户禁用使用密码的SSH。如果他使用的是标准的git SSH格式,它只与git用户进行SSH,除非出于某种原因,他在推送/拉入时输入了git用户的密码,否则这只会禁用任何其他可能正在使用密码的用户的SSH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26153739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档