Python: 配置 SSH 密钥

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

👋 欢迎来到 Stackhero 文档!

Stackhero 提供即开即用的 Python cloud 解决方案,旨在简化您的部署流程:

  • 只需简单 git push,即可在几秒钟内将您的应用部署到生产环境。
  • 支持自定义域名,自动配置 HTTPS 证书,安全连接由我们为您管理。
  • 提供自动备份一键更新可预测的定价,让您专注于代码开发,无需担心基础设施管理。
  • 依托专属私有基础设施,为您带来强大的性能安全性。您的环境将被隔离并受到保护。

节省时间简化工作流程:通过 Stackhero 的 Python cloud hosting,您的代码最快只需 5 分钟即可上线运行。

SSH 密钥允许 GitHub Actions 安全地连接到您的 Python 服务进行代码部署。这一步对于保护您的 Stackhero 服务至关重要。

在您的电脑上,您可以通过以下命令生成新的 SSH 密钥:

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

首先,显示刚刚生成的公钥:

cat /tmp/ssh_key.pub

接下来,在 Stackhero 控制台中,选择您的“production” Python 服务,点击“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

在密钥设置中,Name 填写 STACKHERO_SSH_PRIVATE_KEY,Value 粘贴私钥内容。

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

接下来,在 Environment variables 区域,点击 Add variable

设置变量设置变量

Name 填写 STACKHERO_ENDPOINT,Value 粘贴您的 Python 服务 endpoint。您可以在 Stackhero 控制台中找到该 endpoint。

设置 endpoint 变量设置 endpoint 变量

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

出于安全考虑,建议现在就从您的电脑中删除 SSH 密钥,因为后续不再需要:

rm /tmp/ssh_key /tmp/ssh_key.pub