检查SSH密钥的提交详细信息

时间:2016-01-06 10:02:25

标签: git github ssh git-bash

git commit中,我想检查一下我用来进行提交的机器,我想在提交时检查SSH密钥是否相同。

对此有何帮助?

由于 射线

3 个答案:

答案 0 :(得分:1)

您的问题不明确,但如果我了解您,您想知道您的提交是从哪台机器完成的。

简单的答案:

  

你不能

答案很长:

用户可以在多台计算机上使用相同的密钥(ssh)。

如何的?

只需在不同的计算机之间复制.ssh个文件夹,就可以在所有计算机上使用相同的私钥。

在git中,您无法获得用户的信息(您可以使用-c传递您想要伪造的任何数据),他从何处提交等等。

你需要做什么来在你的服务器/路由器中过滤它,这意味着 - 你不能用git获取这个信息,它必须在网络级别。

答案 1 :(得分:0)

  

假设我知道我在不同的机器上有不同的ssh密钥,那么在git中是否可以检查相同的内容?

git根本就没有(或很少)ssh或https的概念 这些协议用于访问(离子克隆获取或拉取)服务器上的监听器(托管你的git repos),后者又调用git。
它们可以用于身份验证(git完全忽略它)

git在用作客户端获取repos时只知道ssh(connect.c#L733-L783实现git_connect()

但是你的问题是关于服务器,检查提交,并确定它们的来源:信息根本不存在。

只有像gitolite这样的中间授权图层至少可以records the IP of the git push operation,这比ssh密钥更精确。
甚至允许restrict access to a repo by source IP address

但是git一个人不知道该怎么做。

答案 2 :(得分:0)

您可以在登录服务器时使用git config --global user.name进行设置

将类似命令添加到.bashrc或类似的

git config --global --add user.name "$USER on "`hostname`

然后" git log"输出就像这样

commit f30396c75765f14e377c221bde1fe74a912afa92
Author: jamie on myhost.woowoo.com <james.andrews@iop.org>
Date:   Wed Jan 6 12:55:59 2016 +0000

    hopefully working