可以使用一个SSH密钥推送到不同的Git远程设备吗?

可以使用一个SSH密钥推送到不同的Git远程设备吗?,git,ssh,ssh-keys,Git,Ssh,Ssh Keys,通常,我会生成不同的SSH密钥来推送到多个Git服务器 今天,我的同事向我展示了他使用相同的id\u rsa.pub文件推送到GitHub和我们的LAN GitLab服务器 可以使用一个SSH密钥推送到不同的Git远程设备吗 我们必须为不同的远程服务器生成多个SSH密钥的原因是什么?是的,您可以为多个服务器使用相同的公共/私有SSH密钥对,只要每个服务器都有您的公钥副本。在SSH中,私钥是客户端上的密钥,您可以将公钥推送到要登录的服务器 通常,您会为某些脚本中使用的每个密码短语生成单独的密钥,以

通常,我会生成不同的SSH密钥来推送到多个Git服务器

今天,我的同事向我展示了他使用相同的
id\u rsa.pub
文件推送到GitHub和我们的LAN GitLab服务器

可以使用一个SSH密钥推送到不同的Git远程设备吗


我们必须为不同的远程服务器生成多个SSH密钥的原因是什么?

是的,您可以为多个服务器使用相同的公共/私有SSH密钥对,只要每个服务器都有您的公钥副本。

在SSH中,私钥是客户端上的密钥,您可以将公钥推送到要登录的服务器

通常,您会为某些脚本中使用的每个密码短语生成单独的密钥,以减少密钥被盗时的损坏

但我看不出有什么好的理由生成多个身份供手动使用。我手动使用的所有内容都使用相同的密码短语protected
id\u rsa
,通常在ssh代理中解锁

出于类似的原因,您也可以使用单独的密钥,但除非您使用不同的密码短语保护每个密钥,否则没有任何意义,因为所有私钥都位于同一磁盘上的同一目录中


当然,在不同的工作站上,您肯定应该有不同的私钥,但它将再次用于从该计算机执行的所有操作。

要解决这两个问题:

Q1。可以使用一个SSH密钥推送到不同的Git远程设备吗?

是的,假设您在所有开发工作站上使用的是一个
id\u rsa.pub
或其他命名的公钥,以及您的私钥,那么只需将一个公钥上载到多个Git主机,您就可以使用当前从多个密钥获得的相同访问权限

这也将使您的生产生活更加轻松,而不必管理多个密钥,也不必确保每次与服务器通信时都使用正确的密钥

如果您使用多个工作站(即家庭和办公室),您也可以选择在每个本地工作站上使用相同的公钥/私钥对。这进一步减少了需要跟踪的不同关键点的数量

Q2。为不同的远程服务器生成多个SSH密钥的目的是什么?

正如对第一个问题的回答所示,您没有理由为多个远程Git存储库服务器生成多个密钥

如前所述,人们可能会选择为不同的Git存储库使用不同的密钥,这是为了增加一层安全性或管理控制


有关将SSH与Git结合使用的更多信息,请访问和

谢谢您的解释。