PHP: 配置 SSH 密钥

本文档属于使用 GitHub Actions 部署指南的一部分。您可以在此处查看完整指南:如何使用 GitHub Actions 部署您的 PHP 代码

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供专为高效、可靠部署打造的 PHP 云平台

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

让您的工作流程更高效,节省宝贵时间。只需几分钟,即可开始体验 Stackhero 的 PHP 云主机

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