Sakura服务器SSH连接与白名单部署

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

为 Sakura Server 项目准备和排查安全 SSH/SFTP 部署,生成受限登录辅助脚本、白名单上传清单与忽略规则,并区分密钥交换和认证问题。

一句话选型结论

按资料字段整理

Sakura服务器SSH连接与白名单部署是运维和基础设施类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_17ddc1e9/sakura-ssh-deploy-setup
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_17ddc1e9仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791671665
正文体量7.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Sakura服务器SSH连接与白名单部署当前 未标注权限 未标注 未标注 未标注 有
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

7.9 KB
模型实际读到的说明书原文,来自技能仓库

Sakura SSH Deploy Setup

Goal

Set up a Sakura Server project so Codex can deploy through SSH/SFTP using a local secret file that is never committed.

Codex should do the setup work. The user should only need to provide Sakura host/user/password through a secure prompt or equivalent secret-entry UI.

GitHub repository creation and commit/push discipline are intentionally outside this skill. If the user also wants Codex to create a GitHub repository, connect origin, make the initial commit, or set future publish rules, use/install the companion skill github-repo-publish-setup before committing or pushing.

Workflow

  1. Inspect the repository and confirm the intended deploy target, public web root, and private job/data paths.
  2. Create or update a local-only LOCAL_DEPLOY_SECRETS.md from secure user input when credentials are needed. Never put real secrets in tracked files or chat output.
  3. Add LOCAL_DEPLOY_SECRETS.md to .gitignore.
  4. Generate helper scripts that read the local secret file. Common layouts are:
    - scripts/sftp-with-local-secret.expect
    - scripts/ssh-run-with-local-secret.expect
    - or a scoped deploy folder such as deploy/scripts/sftp-with-local-secret.expect
    - and deploy/scripts/ssh-run-with-local-secret.expect
  5. Create a whitelist SFTP manifest template. The manifest must list exact local-to-remote uploads; do not use recursive whole-repository uploads.
  6. Use a secure prompt/popup or the helper script's --write-local-secret mode so the user only enters Sakura host/user/password; Codex writes the ignored local secret file.
  7. Run a harmless ssh check such as pwd or ls -la. Use the normal interactive prompt first. If the execution environment cannot expose that prompt and no password was submitted, retry once with the generated local AskPass fallback.
  8. Run a harmless sftp check such as ls, using the same normal-first and fallback-only rule.
  9. If the environment supports persistent command approvals, ask the user once for narrowly scoped prefixes:
    - expect scripts/sftp-with-local-secret.expect
    - expect scripts/ssh-run-with-local-secret.expect
    - optionally plain ssh and sftp

Do not claim that confirmations can be bypassed. Phrase it as: after the user explicitly approves narrow command prefixes, Codex can repeat matching deploy commands without asking again in that environment.

Diagnose Before Changing Compatibility Settings

Identify the stage that actually failed before editing SSH options:

  1. DNS/TCP connection
  2. key exchange and server host-key verification
  3. user authentication
  4. remote command execution
  5. SFTP file transfer

An OpenSSH warning that the connection is not using a post-quantum key-exchange algorithm is informational. If a password prompt or Authentications that can continue appears afterward, transport and key exchange already succeeded. Do not add legacy HostKeyAlgorithms +ssh-rsa or PubkeyAcceptedAlgorithms +ssh-rsa merely because of the post-quantum warning.

Use an explicit user@host; ssh host otherwise defaults to the local operating-system username. Treat these results separately:

  • Permission denied (publickey,password) after a submitted password is an authentication failure.
  • no matching key exchange method, no matching host key type, or a signature-algorithm error is a negotiation mismatch; use a host-scoped, temporary compatibility override only when the exact diagnostic requires it.
  • A password that succeeds in the Sakura control panel is not, by itself, proof that the SSH username and SSH authentication path are correct.
  • If manual SSH works but an Expect helper receives no password prompt, do not conclude that the stored password changed. Use the fallback rules below.

Read references/ssh-auth-troubleshooting.md before changing algorithms, host-key behavior, or password automation.

AskPass Is a Fallback, Not the Default

Prefer SSH key authentication when the project and host are ready for it. For an authorized password-based workflow, keep the ordinary interactive SSH/SFTP prompt as the first attempt.

The generated helper may retry with SSH_ASKPASS_REQUIRE=force only when all of these are true:

  • the first connection did not expose a usable password prompt;
  • no password was submitted on that connection;
  • authentication then failed;
  • the local AskPass helper is executable and reads the already ignored local secret file.

If a password was submitted and rejected, stop after that attempt. Do not automatically submit it again. Limit each connection to NumberOfPasswordPrompts=1 to reduce account-lockout risk.

The AskPass helper must not embed the password, place it in a command argument or environment-variable value, print it to logs, or enter Git. A dummy DISPLAY may be set only because OpenSSH requires it when forcing AskPass. Keep normal host-key verification enabled. Never solve this problem with StrictHostKeyChecking=no.

Deploy Discipline

  • Use whitelist manifests for SFTP deploys.
  • Do not upload the full repository, full dist, .env, databases, user data, cache directories, upload directories, or node_modules.
  • For static frontend builds, upload new hashed assets before the live index.html.
  • For PHP/account-site deploys without hashed frontend assets, old asset cleanup may be not applicable; do not force cleanup against non-hash shared assets such as app.css.
  • Put private account data, cron state, logs, and settings outside the public web root.
  • Run cleanup only after live verification, and only delete old generated hash .js, .css, or .map assets one file at a time. Final dry-run must report delete=0.

Helper Script

Use scripts/create_deploy_helpers.py to scaffold the local secret template, .gitignore entry, helper scripts, and optionally the ignored local secret file into the target repository.

Run from the target repository root:

python3 /path/to/skills/sakura-ssh-deploy-setup/scripts/create_deploy_helpers.py --project-root .

To create the ignored local secret file through secure prompts:

python3 /path/to/skills/sakura-ssh-deploy-setup/scripts/create_deploy_helpers.py \
  --project-root . \
  --write-local-secret

For projects that keep deploy helpers under a scoped deploy folder, use:

python3 /path/to/skills/sakura-ssh-deploy-setup/scripts/create_deploy_helpers.py \
  --project-root . \
  --helper-dir deploy/scripts \
  --deploy-dir deploy/_deploy

References

  • Read references/local-secret-contract.md when deciding where secrets live and how helpers parse them.
  • Read references/deploy-runbook.md when creating a safe upload flow.
  • Read references/ssh-auth-troubleshooting.md when SSH/SFTP fails, emits a post-quantum warning, or behaves differently between an interactive terminal and Codex/CI.

Safety Rules

  • Never print passwords, control panel credentials, mailbox passwords, API tokens, or full secret file contents.
  • Never write real secrets into SKILL.md, README, scripts, examples, deploy manifests, docs, Git commits, or command logs.
  • Do not ask the user to manually edit LOCAL_DEPLOY_SECRETS.md when a secure prompt or equivalent secret-entry UI is available.
  • Require deploy manifests that list exact local and remote paths.
  • Do not upload or overwrite production data unless the user explicitly asks for that exact data action.
  • Do not treat GitHub setup as complete from this skill alone; use the separate github-repo-publish-setup companion for repo creation and publish discipline.

常见问题

5 问
答案由本站依据条目字段整理
Sakura服务器SSH连接与白名单部署怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_17ddc1e9/sakura-ssh-deploy-setup。安装方式为未标注。装完刷新技能列表或重开客户端。

Sakura服务器SSH连接与白名单部署支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Sakura服务器SSH连接与白名单部署权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Sakura服务器SSH连接与白名单部署收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Sakura服务器SSH连接与白名单部署用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。