【发布时间】:2016-01-19 18:53:26
【问题描述】:
我有一个 SSH 密钥对:私人生活在我的本地 Mac 上,公共生活在几台 AWS 云机器上。
在我的 Mac 上,我可以通过 SSH 连接到云实例,称之为“部署服务器”。从那里,我需要将我的应用程序部署到多个实例(我无法在本地部署)。
我使用我的私钥对其他实例进行身份验证。我可以通过将我的私钥留在部署服务器上(不安全)或 SSH 代理转发(可能不会更好)来做到这一点。
此外,部署需要一段时间,所以我在 gnu 屏幕或 tmux 会话中进行;然后我只是分离并结束与部署服务器的 SSH 会话,这意味着我不能使用 SSH 代理转发(因为我相信它需要 SSH 连接保持打开状态)。
我还有哪些其他选择?
【问题讨论】:
-
如果你必须通过 git 部署,为什么不直接从你的 Mac 推送到服务器而不是从 github 拉取?
-
几个原因:1)脚本在本地(在Linux服务器上)构建二进制文件,其中一些是特定于平台的;所以我不能在我的 Mac 上这样做。 2) 我的本地机器和我的服务器之间的连接不够可靠。 3) 我希望能够在部署时关闭我的笔记本电脑、移动位置等
标签: github deployment ssh ssh-keys gnu-screen