首页 > 解决方案 > 你可以为 git 提交启用 2FA 吗?

问题描述

标题几乎说明了一切。我正在使用 Ubuntu,我对我的 git 存储库被篡改感到非常偏执,所以我想确保我是唯一可以提交的人。我知道您可以在本地签署您的提交,但如果您的计算机上有恶意软件,那么它可以轻松获取您的私钥(我认为)。所以我想为每个本地提交做到这一点,git 需要 2FA。有没有办法做到这一点?还是有其他更安全的本地签名替代方案?

标签: gitsecurityubuntuauthentication

解决方案


Git 不在本地计算机上提供 2FA,因为隐式信任用户可以在自己的存储库中创建提交。但是,如果您设置commit.gpgsigntrue.

您可以使用设备上的 OpenPGP 密钥,例如 YubiKey,它需要交互才能签名。 YubiCo 的网站记录了如何做到这一点。

但是,话虽如此,如果您不信任自己的计算机,那么您将很难在其上做任何事情,因为您所做的一切都必须在另一台值得信赖的机器上进行验证,因为您自己的机器上有恶意软件可能会诱使您看到事情与实际不同。因此,如果这是您的问题,您需要先解决它,然后再尝试添加提交签名。如果需要,您可以启动受信任的 live CD 或 live USB 映像(例如,Debian Live CD)来完成某些工作。


推荐阅读