PHP: 配置 SSH 密钥

本文件是使用 GitHub Actions 部署指南的一部分。您可以在这里查看完整指南:如何使用 GitHub Actions 部署您的 PHP 代码

👋 欢迎来到 Stackhero 文档!

Stackhero 提供了一个专为快速、可靠部署而设计的 PHP cloud 平台:

  • 只需简单的 git push,即可将您的 PHP 应用快速部署到生产环境
  • 支持自定义域名,自动为您配置 HTTPS 证书,无需手动操作。
  • 依靠自动备份一键更新以及清晰、可预测的定价。Stackhero 会为您处理这些细节,让您专注于代码开发。
  • 享受专为您的应用打造的高性能高安全性的私有专用基础设施。

让您的工作流程更顺畅,节省宝贵时间。只需几分钟即可开始体验 Stackhero 的 PHP cloud hosting

SSH 密钥是让 GitHub Actions 在部署过程中安全连接到您的 PHP 服务的推荐方式。在本指南中,您将专门为此目的生成一对新的 SSH 密钥。

在您的电脑上运行以下命令以生成新的 SSH 密钥:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

接下来,通过以下命令获取公钥:

cat /tmp/ssh_key.pub

前往您的 Stackhero 控制台,选择您的“Production” PHP 服务。点击“Configure”,并按照以下步骤操作:

  1. SSH public keys 下,点击“Add a public key”。
  2. Description 字段填写“GitHub Action”。
  3. 将刚刚获取的公钥粘贴到 Key 字段。

获取服务设置获取服务设置

现在,将私钥添加到您的 GitHub 项目中,以便在部署时使用:

  • 进入 Settings,选择 Environments,然后点击 New environment

    配置 GitHub 环境配置 GitHub 环境

  • Name 字段输入“production”,并确认。

    设置环境设置环境

  • 点击 No restriction 按钮,选择 Selected branches and tags

    设置环境限制设置环境限制

  • 点击 Add deployment branch or tag rule,在 Name pattern 字段输入“production”,然后点击 Add rule

    设置环境分支设置环境分支 设置环境分支设置环境分支

  • Environment secrets 部分,点击 Add secret

    添加密钥添加密钥

通过以下命令获取您之前生成的私钥:

cat /tmp/ssh_key

在 GitHub 环境设置中:

  • Name 填写 STACKHERO_SSH_PRIVATE_KEY,并将您的私钥粘贴到 Value 字段。

    设置 SSH 私钥密钥设置 SSH 私钥密钥

  • Environment variables 部分,点击 Add variable

    设置变量设置变量

  • Name 填写 STACKHERO_ENDPOINT,并将您的 PHP 服务 endpoint 粘贴到 Value 字段。您可以在 Stackhero 控制台找到该 endpoint。

    设置 endpoint 变量设置 endpoint 变量

如果您自定义了服务的域名,请使用自定义域名替换 <XXXXXX>.stackhero-network.com。

出于安全考虑,建议在设置完成后从您的电脑中删除生成的 SSH 密钥:

rm /tmp/ssh_key /tmp/ssh_key.pub