如何在没有私钥的情况下从AWS实例获取SSH访问权限?

时间:2015-10-20 22:42:52

标签: github deployment ssh ssh-keys gnu-screen

我有一个SSH密钥对:私人生活在我的本地Mac上,公共生活在几台AWS云计算机上。

从我的Mac,我可以通过SSH连接到云实例,调用它"部署服务器"。从那里,我需要将我的应用程序部署到多个实例(我无法在本地部署)。

我使用私钥对其他实例进行身份验证。我可以通过将我的私钥留在部署服务器(不安全)或SSH代理转发(可能不是更好)来实现这一点。

此外,部署需要一段时间,所以我在gnu屏幕或tmux会话中执行;然后我只是分离并结束与部署服务器的SSH会话,这意味着我无法使用SSH代理转发(因为我认为它需要SSH连接保持打开状态)。

我还有哪些其他选择?

1 个答案:

答案 0 :(得分:0)

您可以使用deploy key。这是一个服务器特定的密钥,只具有对存储库的只读访问权。

要使用此功能,您需要:

  • 为服务器生成私钥(服务器上的ssh-keygen
  • 将其设置为github repo作为部署密钥(https://github.com/<user>/<repo>/settings/keys)。这将授予repo只读权限。如果您还需要写入权限,则可以使用复选框。

详细了解此github help指南。在那里,您可以看到更多从访问存储库的服务器进行部署的方法。