mirror of
https://github.com/LamGC/quickly-conf-sshd.git
synced 2026-10-13 07:43:57 +00:00
feat: pin client GPG trust and publish signed Git/Gist key releases
This commit is contained in:
+24
-15
@@ -4,13 +4,13 @@
|
||||
<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>
|
||||
<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="#public-keys">跳到 SSH 公钥</a>
|
||||
<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 首页">
|
||||
@@ -36,8 +36,8 @@
|
||||
<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="#public-keys">查看公钥 <span aria-hidden="true">↓</span></a><a href="#quick-start">快速开始 <span aria-hidden="true">↓</span></a></div>
|
||||
<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>
|
||||
@@ -46,32 +46,41 @@
|
||||
<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>
|
||||
<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="public-keys" class="content-section" aria-labelledby="keys-title">
|
||||
<section id="key-status" class="content-section" aria-labelledby="keys-title">
|
||||
<div class="section-heading">
|
||||
<div><p class="section-index">01 / PUBLIC KEYS</p><h2 id="keys-title">SSH 公钥</h2><p>部署前,请核对指纹及密钥归属。</p></div>
|
||||
<div class="section-actions"><a class="text-link" href="/ssh.keys">原始文件 <span aria-hidden="true">↗</span></a><button id="copy-all-keys" class="copy-button copy-all" type="button" aria-label="复制全部公钥" title="复制全部公钥" data-enhance><span>复制全部</span></button></div>
|
||||
<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="key-list">@@KEYS_HTML@@</div>
|
||||
<div class="public-notice"><span class="notice-icon" aria-hidden="true">i</span><p>这里展示的是公开密钥。私钥应始终由你保管,本页面不会要求上传或输入私钥。</p></div>
|
||||
<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="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">每条命令独立使用。高级选项涉及 SSH 登录策略或卸载,请阅读说明后操作。</p>
|
||||
<p class="command-note">每条命令独立使用。同步、预览及高级命令须先安装。脚本一旦落盘,日常同步不会替换可执行代码或本地信任指纹;更新脚本须在服务器重新安装。</p>
|
||||
</section>
|
||||
<noscript><p class="noscript-notice">JavaScript 已关闭,公钥与命令仍可查看并手动选择复制。启用 JavaScript 后可使用复制按钮与外观设置。</p></noscript>
|
||||
<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">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>
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user