mirror of
https://github.com/LamGC/quickly-conf-sshd.git
synced 2026-10-13 07:43:57 +00:00
97 lines
8.6 KiB
HTML
97 lines
8.6 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="color-scheme" content="light dark">
|
||
<meta name="description" content="查看 SSH 公钥发布状态,复制服务器配置命令。Quickly Configuring SSH Server。">
|
||
<title>SSH 发布状态与快速部署 · Quickly Configuring SSH Server</title>
|
||
<link rel="stylesheet" href="/assets/style.css">
|
||
<script src="/assets/app.js" defer></script>
|
||
</head>
|
||
<body>
|
||
<a class="skip-link" href="#key-status">跳到发布状态</a>
|
||
<div class="page-shell">
|
||
<header class="site-header">
|
||
<a class="brand" href="/" aria-label="Quickly Configuring SSH Server 首页">
|
||
<span class="brand-mark" aria-hidden="true">>_</span>
|
||
<span><strong>Quickly Configuring SSH Server</strong><span class="brand-caption">quickly-conf-sshd</span></span>
|
||
</a>
|
||
<nav class="header-actions" aria-label="项目与显示设置">
|
||
<div class="theme-control" data-enhance>
|
||
<label for="theme-picker">外观</label>
|
||
<select id="theme-picker" aria-label="选择页面外观">
|
||
<option value="system">跟随系统</option>
|
||
<option value="light">浅色</option>
|
||
<option value="dark">深色</option>
|
||
</select>
|
||
</div>
|
||
<a class="repository-link" href="@@REPOSITORY_URL@@" target="_blank" rel="noopener noreferrer">GitHub <span aria-hidden="true">↗</span><span class="sr-only">(新窗口打开)</span></a>
|
||
</nav>
|
||
</header>
|
||
|
||
<main>
|
||
@@PREVIEW_NOTICE@@
|
||
<section class="hero" aria-labelledby="page-title">
|
||
<div class="hero-copy">
|
||
<p class="eyebrow"><span class="status-dot" aria-hidden="true"></span> SSH KEY DISTRIBUTION</p>
|
||
<h1 id="page-title">公钥集中管理,<br>服务器快速就绪。</h1>
|
||
<p class="hero-description">查看发布状态,选择命令,配置 SSH。<br class="wide-only">查看当前公钥来源与内容版本,按需部署。</p>
|
||
<div class="hero-links"><a href="#key-status">发布状态 <span aria-hidden="true">↓</span></a><a href="#quick-start">快速开始 <span aria-hidden="true">↓</span></a></div>
|
||
</div>
|
||
<aside class="release-card" aria-labelledby="release-title">
|
||
<div class="release-heading"><h2 id="release-title">版本与公钥来源</h2><span class="release-badge">@@RELEASE_LABEL@@</span></div>
|
||
<dl class="release-details">
|
||
<div><dt>代码版本</dt><dd><code class="release-revision">@@REVISION@@</code></dd></div>
|
||
<div><dt>公钥版本</dt><dd><code class="release-revision">@@CONTENT_REVISION@@</code></dd></div>
|
||
<div><dt>公钥来源</dt><dd class="source-label">@@SOURCE_LABEL@@</dd></div>
|
||
<div><dt>来源状态</dt><dd class="source-status">@@SOURCE_STATUS@@</dd></div>
|
||
<div><dt>签名状态</dt><dd class="signature-status">@@SIGNATURE_STATUS@@</dd></div>
|
||
<div><dt>证书状态</dt><dd class="certificate-status">@@CERTIFICATE_STATUS@@</dd></div>
|
||
<div><dt>发布时间</dt><dd><time datetime="@@PUBLISHED_AT@@">@@PUBLISHED_AT@@</time></dd></div>
|
||
<div><dt>公钥数量</dt><dd><strong class="key-count">@@KEY_COUNT@@</strong><span class="count-unit"> 个</span></dd></div>
|
||
</dl>
|
||
<p class="release-note">此处展示代码发布与当前公钥来源,不代表所有服务器均已同步。</p>
|
||
</aside>
|
||
</section>
|
||
|
||
<section id="key-status" class="content-section" aria-labelledby="keys-title">
|
||
<div class="section-heading">
|
||
<div><p class="section-index">01 / RELEASE STATUS</p><h2 id="keys-title">公钥发布状态</h2><p>首页仅展示来源、状态、数量与内容摘要,不展示公钥列表、指纹或注释。</p></div>
|
||
<div class="section-actions"><a class="text-link" href="/ssh.keys.sig">独立签名接口 <span aria-hidden="true">↗</span></a><a class="text-link" href="/ssh.keys">公钥原始接口 <span aria-hidden="true">↗</span></a>@@CERTIFICATE_LINK@@</div>
|
||
</div>
|
||
<p class="keys-notice" role="note">@@KEYS_NOTICE@@</p>
|
||
<div class="public-notice"><span class="notice-icon" aria-hidden="true">i</span><p>公钥不是秘密:原始 API 与公开 Git / Gist 仍可能提供公钥内容。私钥应留在离线环境,本页面不会要求上传或输入私钥。</p></div>
|
||
</section>
|
||
|
||
<section id="quick-start" class="content-section commands-section" aria-labelledby="commands-title">
|
||
<div class="section-heading"><div><p class="section-index">02 / QUICK START</p><h2 id="commands-title">按需选择,复制即用</h2><p>首次安装的快捷命令会立即执行下载脚本。推荐先检查并独立核验安装脚本;高信任安装可按下方指引操作。修改 SSH 配置时保留当前会话以验证新连接。</p></div><a class="text-link" href="/script.sh">查看脚本 <span aria-hidden="true">↗</span></a></div>
|
||
<div class="command-list">@@COMMANDS_HTML@@</div>
|
||
<p class="command-note">每条命令独立使用。同步、预览及高级命令须先安装。脚本一旦落盘,日常同步不会替换可执行代码或本地信任指纹;更新脚本须在服务器重新安装。</p>
|
||
</section>
|
||
<section id="trust-guidance" class="content-section" aria-labelledby="trust-title">
|
||
<div class="section-heading"><div><p class="section-index">03 / LOCAL TRUST</p><h2 id="trust-title">先核验,再建立本地信任</h2><p>签名文件存在,不代表 Worker 已验证签名。客户端验签默认关闭,须在服务器本地明确启用。</p></div><a class="text-link" href="@@REPOSITORY_URL@@#readme" target="_blank" rel="noopener noreferrer">完整安装说明 <span aria-hidden="true">↗</span></a></div>
|
||
<ol class="trust-steps">
|
||
<li>推荐从独立可信渠道取得安装脚本预期 SHA-256,下载、检查脚本并比对摘要后再执行。首次安装或明确重装都会信任你执行的脚本;与脚本同源取得的摘要无法建立独立信任。签名证书 pin 仍须独立核验。</li>
|
||
<li>可使用安装参数 --install --gpg-verification on,以 --gpg-fingerprint 固定独立核验的完整指纹,并指定 --list-id。--gpg-pin-mode 默认 primary,信任主钥及其有效绑定的签名子钥,也可选 subkey 固定签名子钥;安装或更换信任时须在服务器本地终端确认完整指纹,不能跳过确认;远端发布内容不能关闭本地验签。</li>
|
||
<li>关闭验签时,客户端仅获取 <a class="text-link" href="/ssh.keys">/ssh.keys</a>,不请求签名或证书;启用后还须取得 <a class="text-link" href="/ssh.keys.sig">/ssh.keys.sig</a>,两者均返回 200,客户端使用已验证并保存的本地证书核验公钥文档原始字节,全部通过才接受。证书仅在本地安装流程中发现并固定,日常同步不联网刷新证书;获取或验证失败保留已有公钥。签名私钥始终离线保管。</li>
|
||
</ol>
|
||
</section>
|
||
<noscript><p class="noscript-notice">JavaScript 已关闭,发布状态与命令仍可查看并手动选择复制。启用 JavaScript 后可使用复制按钮与外观设置。</p></noscript>
|
||
</main>
|
||
|
||
<footer class="site-footer"><span>Quickly Configuring SSH Server</span><div><a href="/ssh.keys.sig">ssh.keys.sig</a><a href="/ssh.keys">ssh.keys</a><a href="/script.sh">script.sh</a><a href="@@REPOSITORY_URL@@" target="_blank" rel="noopener noreferrer">源代码<span class="sr-only">(新窗口打开)</span></a></div></footer>
|
||
</div>
|
||
|
||
<p id="copy-status" class="sr-only" role="status" aria-live="polite" aria-atomic="true"></p>
|
||
<dialog id="copy-fallback" aria-labelledby="fallback-title" aria-describedby="fallback-description">
|
||
<div class="fallback-heading"><h2 id="fallback-title">手动复制完整内容</h2><button id="close-copy-fallback" class="dialog-close" type="button" aria-label="关闭手动复制窗口">×</button></div>
|
||
<p id="fallback-description">浏览器未允许自动复制。内容已选中,请按 Ctrl+C 或 ⌘C,也可以长按文本进行复制。</p>
|
||
<label class="sr-only" for="fallback-text">要复制的完整内容</label>
|
||
<textarea id="fallback-text" readonly spellcheck="false" wrap="off"></textarea>
|
||
<p class="fallback-note">关闭此窗口后,可继续查看页面。</p>
|
||
</dialog>
|
||
<script id="release-data" type="application/json">@@RELEASE_JSON@@</script>
|
||
</body>
|
||
</html>
|