当前位置: 首页 > 知识库问答 >
问题:

为什么克隆公共Git库需要机器的ssh密钥?

周弘毅
2023-03-14

我认为对于克隆私有回购,我们需要验证计算机是可信的。但是对于公共回购,如果github的设置中没有添加ssh密钥,不知道为什么git被设计为要求机器提供ssh密钥?

共有2个答案

松桐
2023-03-14

只有当您使用ssh协议时,git才需要一个ssh密钥-不存在匿名ssh这样的东西,ssh需要一个密钥(一个帐户)才能工作。

如果您使用< code>git或< code>https协议,则不需要ssh密钥。如果您不想使用帐户/身份验证,< code>git协议可能是您的最佳选择。

(有关git协议的更多信息)

曾新立
2023-03-14

如果通过SSH连接,Git(实际上是Git使用的SSH代理)将始终需要以私钥的形式进行身份验证。这是因为SSH协议实际上并不关心您是在访问公共存储库还是私有存储库。

通过查看远程 URL,您可以轻松确定用于克隆的协议。SSH 网址如下所示:

  1. <代码>ssh://git@github.com网站/

但是,在GitHub上,您始终可以使用git://协议而不是不需要身份验证的ssh://克隆公共存储库:

git clone git://github.com/<user>/<repo>.git

或者,使用HTTPS,它(如果内存可用)只需要对私有存储库进行身份验证:

git clone https://github.com/<user>/<repo>.git
 类似资料:
  • 我正在Windows 7上运行Netbeans 7.2,无法克隆repo。我之前使用的是Windows XP和Netbeans 7.1,没有任何问题。 我一直使用的过程是打开Pageant并加载我的密钥。然后在Netbeans中,我组建了一个

  • 本文向大家介绍为什么要使用克隆?相关面试题,主要包含被问及为什么要使用克隆?时的应答技巧和注意事项,需要的朋友参考一下 克隆的对象可能包含一些已经修改过的属性,而 new 出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠克隆方法了。

  • 本文向大家介绍Git 克隆SVN存储库,包括了Git 克隆SVN存储库的使用技巧和注意事项,需要的朋友参考一下 示例 您需要使用以下命令创建存储库的新本地副本 git svn clone SVN_REPO_ROOT_URL [DEST_FOLDER_PATH] -T TRUNK_REPO_PATH -t TAGS_REPO_PATH -b BRANCHES_REPO_PATH 如果您的SVN储存库

  • 问题内容: 我已经通过Windows 2008 32位上的Git / SSH在Jenkins中成功克隆了Git存储库。当我尝试在64位Windows 2008上执行相同操作时, 控制台输出 页面卡在此处: 当我停止构建时(在卡住了几分钟之后),我得到了其余的错误消息: 我可以通过两台机器上的Jenkins 通过Git只读URL克隆存储库 我可以从两台计算机上的命令行通过Git / SSH URL进

  • 问题内容: 对于在要克隆对象的类中重写克隆方法,我感到困惑。 对象类具有 受保护的对象 方法,并且按照受保护的行为,即 当方法受到保护时,只能由类本身,该类的子类或与该类位于同一包中的类访问 。 由于Java中的每个类都从Object扩展而来,因此它应该具有clone方法,但仍然被迫重写clone。为什么需要它? 另外,我在某些地方已经阅读了有关覆盖克隆对象并将其公开的信息。我不知道为什么会这样吗

  • 到现在为止,读者已经零略到Git的灵活性以及健壮性。Git可以通过重置随意撤销提交,可以通过变基操作更改历史,可以随意重组提交,还可以通过reflog的记录纠正错误的操作。但是再健壮的版本库设计,也抵挡不了存储介质的崩溃。还有一点就是不要忘了Git版本库是躲在工作区根目录下的.git目录中,如果忘了这一点直接删除工作区,就会把版本库也同时删掉,悲剧就此发生。 “不要把鸡蛋装在一个篮子里”,是颠扑不