# @andrewheberle/serverless-ssh-ca-testing 中文文档

规范地址：https://npmcn.com/package/%40andrewheberle/serverless-ssh-ca-testing/

版本：0\.30\.0
npm 元数据更新时间：2026-11-07T14:01:41.759Z
中文译文更新时间：2026-11-06T22:09:40.852Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40andrewheberle/serverless-ssh-ca-testing
原文对照：https://npmcn.com/package/%40andrewheberle/serverless-ssh-ca-testing/?lang=original
项目主页：https://github.com/andrewheberle/serverless-ssh-ca/tree/main/packages/testing#readme
源码仓库：https://github.com/andrewheberle/serverless-ssh-ca

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：67.8 kB，47 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.0\.0
- 运行依赖：2 个
- peer 依赖：@andrewheberle/serverless-ssh-ca \>=0\.20\.0
- 首次发布：2026-10-09T02:10:58.108Z
- 最新版本发布：2026-11-07T14:01:41.444Z
- 近 30 天下载量：2276（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

在 Node.js 下运行无服务器的 SSH CA 或为客户端对端测试工作

## 安装

```sh
npm install @andrewheberle/serverless-ssh-ca-testing
```

也可以使用：`pnpm add @andrewheberle/serverless-ssh-ca-testing`、`yarn add @andrewheberle/serverless-ssh-ca-testing`、`bun add @andrewheberle/serverless-ssh-ca-testing`

## README

# @andrewheberle/serverles-sh-ca-测试

运行 [无服务器的 SSH CA](https://npmcn.com/package/%40andrewheberle/core/README.md) 最终测试 客户,例如 [ssh-ca-客户端](https://github.com/andrewheberle/ssh-ca-client)。 。 。 .

CA可以运行在:

-   `node`:Node.js,使用包的Node.js辅助器件有内膜 `node:sqlite` 数据库
-   `workerd`: Cloudflare工人运行时间,使用Wrangler测试带 带有本地 D1 数据库和保密存储器 `wrangler dev` 将

跑步之间没有一丝不挂.

此软件包随 `@andrewheberle/serverless-ssh-ca` 和用途 无论哪个版本的软件包安装在旁边。 测试客户端 对一个未释放的 CA 版本,安装一个从 `npm pack` 内 其所处所.

## 所需资源

节点.js 24或后.

## 使用量

```sh
npm install --save-dev @andrewheberle/serverless-ssh-ca @andrewheberle/serverless-ssh-ca-testing
npx serverless-ssh-ca-test-server [--runtime node|workerd] config.json
```

运行时间默认为 `node`从另一端启动服务器的客户端 语言可以运行 `node node_modules/@andrewheberle/serverless-ssh-ca-testing/dist/cli.js`, (中文(简体) ), 避免平台特定的 shims in `node_modules/.bin`。 。 。 .

服务器在标准输入关闭时退出, 因此不会超过寿命 开始的测试。 如果无法启动,它会写出原因 标准出错并退出状态 1.

## 配置

配置文件为 JSON 对象 :

| 财产 | 说明 |
| --- | --- |
| `private_key` | OpenSSH 格式的 CA 私钥 |
| `bindings` | CA 配置, 作为 Workers vars (环境变量) |
| `port_file` | CA 正在监听时, 端口会被写入路径 `127.0.0.1` |
| `log_file` | 从 CA 日志输出的路径和被附加到 JSON 线上 |

绑定是CA所记录的,每个值都作为字符串. 下 `workerd`,Wrangler的工作文件被写入目录 包含配置文件.

## 日志文件

日志文件的每行都是至少带有 JSON 对象 `level` 财务报告和审定财务报表 `message`CA所记录的行是按原样写成的,并增加了绳子 线条 `message` 开始于 `harness`数字 :

-   `{"level":"info","message":"harness request","method":...,"url":...,"status":...}` 每一个请求,在哪里 `url` 是路径和查询。 何时 `status` 为 400 或超过, `body` 持有响应机构, 所以测试可以检查 为什么请求 被拒绝.
-   `{"level":"error","message":"harness ...",...}` 因为一个错误,意味着CA 或使用失败而不是拒绝请求。 有些缺点,例如: 无法记录签发的证书,仅在日志中可见,所以 如果出现这些行中的任何一行,试验就应失败。 CA 日志行 表示一个错误,然后是一条与消息相通的行 `harness fault` 和原始行键入 `line`。 。 。 .

下 `workerd`,CA的输出每100ms复制到日志文件,所以 在收到答复后不久,即可登录请求.

## 程序使用

```ts
import { startTestServer } from "@andrewheberle/serverless-ssh-ca-testing"

const server = await startTestServer("node", "config.json")
// make requests to http://127.0.0.1:${server.port}
await server.close()
```

下 `node` 加州大学 `console` 输出重定向到日志文件直到 服务器已关闭 .

## 常见问题

### @andrewheberle/serverless-ssh-ca-testing 是什么？

在 Node\.js 下运行无服务器的 SSH CA 或为客户端对端测试工作

### 如何安装 @andrewheberle/serverless-ssh-ca-testing？

在项目目录运行 npm install @andrewheberle/serverless-ssh-ca-testing，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@andrewheberle/serverless-ssh-ca（\>=0\.20\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 serverless-ssh-ca-test-server，可以用 npx serverless-ssh-ca-test-server 直接运行。

### @andrewheberle/serverless-ssh-ca-testing 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @andrewheberle/serverless-ssh-ca-testing 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @andrewheberle/serverless-ssh-ca-testing 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @andrewheberle/serverless-ssh-ca-testing 可以商用吗？

@andrewheberle/serverless-ssh-ca-testing 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @andrewheberle/serverless-ssh-ca-testing 的下载量有多少？

根据 npm 官方下载统计，@andrewheberle/serverless-ssh-ca-testing 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,276 次，日均约 76 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @andrewheberle/serverless-ssh-ca-testing 还在维护吗？

最新版本 0\.30\.0 发布于 2026/11/07（今天）；至今共发布 17 个版本，其中过去 12 个月发布了 17 个；首次发布于 2026/10/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

