Files
quickly-conf-sshd/site/index.html
T

97 lines
8.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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">&gt;_</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>