在 RPi 上使用 Github PAT 的推荐策略
Recommended strategies for using Github PATs on RPi
RPi.stackexchange 在他们的网站上发现了这个问题,并在此处推荐。我不确定,但会试一试。
在 Github 上切换到个人访问令牌让我在 RPi 上的编程和开发方面感到非常头疼。问题是如何高效安全地将 PAT 提供给新的 RPi。在全新安装中,我首先 运行 git config --global credential.helper store 然后从一个未公开的来源(例如,我本地网络上的 NAS)提取一份副本.git-包含(以明文形式)我的令牌的凭据。
这种方法相当有效(我只需要访问 NAS)但显然不安全。它也不适合 public 设置(例如,我可以在家里通过我的本地网络在我的爱好项目上这样做,但在我的研究实验室中,如果学生正在研究他们自己的 RPis 并且需要执行类似任务)。
是否有推荐的高效 push/pull git 集线器访问策略,同时在保护 PAT 方面做出合理的尝试(此处定义为优于明文)?
您的问题有两个方面:如何不以纯文本形式存储您的密钥以及如何将其安全地传输到其他设备。
有几种方法可以加密文本文件,例如openssl.
要将您的密钥从一台设备传输到另一台设备,假设您可以在您的 RPi 上访问互联网连接,您可以使用像 Magic Wormhole.
这样的安全传输程序
这两种解决方案都需要一段涉及传递密码的通道,这可以通过另一个通信渠道进行,并且应该安全地进行(例如,口头传递 OpenSSL 密码)。
您可以使用几个选项来授予对存储库的访问权限。您已经提到了个人访问令牌,但如果您只需要访问一个存储库,则最好使用带有 SSH 的部署密钥。这将授予对单个存储库的只读或读写访问权限,并避免因该台机器受到威胁而给其余存储库带来的一些风险。
您可以通过让 Raspberry Pi 生成一个密钥,通过网络获取 public 部分,然后使用 API 添加它作为部署密钥(到您将使用本地计算机上的个人访问令牌进行身份验证)。这将是安全的;只有 Raspberry Pi 会有秘密部分,您不需要通过网络共享任何秘密。
如果您通过 SSH 登录 Raspberry Pi,那么您也可以只使用自己的 SSH 密钥并使用 ssh -A
转发代理,然后您就可以在不需要的情况下进行推送和拉取实际复制任何凭据。这也是安全的。
如果您的问题是当设备对 public 访问开放时如何保护对私有存储库的访问,那么没有安全的方法可以做到这一点,我相信您已经猜到了。
我不清楚你之前在做什么,但如果你只是在提示时输入密码,那么你仍然可以通过从密码管理器复制和粘贴 PAT 来做到这一点,但这可能只是在这种情况下更容易使用 SSH 密钥。
RPi.stackexchange 在他们的网站上发现了这个问题,并在此处推荐。我不确定,但会试一试。
在 Github 上切换到个人访问令牌让我在 RPi 上的编程和开发方面感到非常头疼。问题是如何高效安全地将 PAT 提供给新的 RPi。在全新安装中,我首先 运行 git config --global credential.helper store 然后从一个未公开的来源(例如,我本地网络上的 NAS)提取一份副本.git-包含(以明文形式)我的令牌的凭据。
这种方法相当有效(我只需要访问 NAS)但显然不安全。它也不适合 public 设置(例如,我可以在家里通过我的本地网络在我的爱好项目上这样做,但在我的研究实验室中,如果学生正在研究他们自己的 RPis 并且需要执行类似任务)。
是否有推荐的高效 push/pull git 集线器访问策略,同时在保护 PAT 方面做出合理的尝试(此处定义为优于明文)?
您的问题有两个方面:如何不以纯文本形式存储您的密钥以及如何将其安全地传输到其他设备。
有几种方法可以加密文本文件,例如openssl.
要将您的密钥从一台设备传输到另一台设备,假设您可以在您的 RPi 上访问互联网连接,您可以使用像 Magic Wormhole.
这样的安全传输程序这两种解决方案都需要一段涉及传递密码的通道,这可以通过另一个通信渠道进行,并且应该安全地进行(例如,口头传递 OpenSSL 密码)。
您可以使用几个选项来授予对存储库的访问权限。您已经提到了个人访问令牌,但如果您只需要访问一个存储库,则最好使用带有 SSH 的部署密钥。这将授予对单个存储库的只读或读写访问权限,并避免因该台机器受到威胁而给其余存储库带来的一些风险。
您可以通过让 Raspberry Pi 生成一个密钥,通过网络获取 public 部分,然后使用 API 添加它作为部署密钥(到您将使用本地计算机上的个人访问令牌进行身份验证)。这将是安全的;只有 Raspberry Pi 会有秘密部分,您不需要通过网络共享任何秘密。
如果您通过 SSH 登录 Raspberry Pi,那么您也可以只使用自己的 SSH 密钥并使用 ssh -A
转发代理,然后您就可以在不需要的情况下进行推送和拉取实际复制任何凭据。这也是安全的。
如果您的问题是当设备对 public 访问开放时如何保护对私有存储库的访问,那么没有安全的方法可以做到这一点,我相信您已经猜到了。
我不清楚你之前在做什么,但如果你只是在提示时输入密码,那么你仍然可以通过从密码管理器复制和粘贴 PAT 来做到这一点,但这可能只是在这种情况下更容易使用 SSH 密钥。