<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ssh · XB 现场笔记</title><link>https://www.xbcatm.com/zh/tags/ssh/</link><description>基于 HTTP、DNS、TLS、Caddy、SSH、发布与恢复的可复现运维现场笔记。</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://www.xbcatm.com/zh/tags/ssh/index.xml" rel="self" type="application/rss+xml"/><item><title>SSH 主机密钥是部署记录的一部分</title><link>https://www.xbcatm.com/zh/notes/ssh-host-keys-are-part-of-the-deployment-record/</link><pubDate>Sat, 22 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.xbcatm.com/zh/notes/ssh-host-keys-are-part-of-the-deployment-record/</guid><description>让首次接触保持显式，并拒绝未预期的主机密钥变化。</description><content:encoded>&lt;p&gt;SSH 私钥认证客户端，但它并不告诉客户端到达的是哪台服务器。服务器的主机密钥与本地 &lt;code&gt;known_hosts&lt;/code&gt; 数据库，提供身份检查的后一半。&lt;/p&gt;
&lt;h2 id="把首次接触与轮换分开"&gt;把首次接触与轮换分开&lt;/h2&gt;
&lt;p&gt;在 &lt;code&gt;StrictHostKeyChecking=yes&lt;/code&gt; 下，SSH 拒绝未知主机与变化的密钥。对于一个固定生产端点，只要期望密钥通过可信渠道安装，这就是最安全的默认值。&lt;code&gt;accept-new&lt;/code&gt; 是面向预期会出现新主机的、更窄的方便选项：它接受一个从未见过的密钥，但仍拒绝被更改的密钥。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-sshconfig" data-lang="sshconfig"&gt;Host production-site
HostName www.example.test
User deploy
IdentityFile ~/.ssh/site_ed25519
StrictHostKeyChecking yes
UserKnownHostsFile ~/.ssh/known_hosts
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;不要通过给部署脚本加 &lt;code&gt;StrictHostKeyChecking=no&lt;/code&gt; 来&amp;quot;修复&amp;quot;警告。那会把有用的信号变成静默接受。如果主机被重建，请记录替换后的指纹，并复核旧密钥为何不再有效。&lt;/p&gt;
&lt;h2 id="让指纹可复核"&gt;让指纹可复核&lt;/h2&gt;
&lt;p&gt;在首次连接之前，从主机所有者或控制台获取指纹，再与客户端看到的值比较。密钥变更应有工单、维护说明或其他他人可检视的解释。&lt;/p&gt;
&lt;p&gt;同一规则适用于自动化：known-hosts 文件是带有安全后果的配置，不是可丢弃的缓存数据。把它与部署记录一起备份，但不要把私钥或复制的凭据随站点制品一起公开。&lt;/p&gt;
&lt;h2 id="来源"&gt;来源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://man.openbsd.org/ssh_config"&gt;OpenBSD &lt;code&gt;ssh_config&lt;/code&gt;&lt;/a&gt;，&lt;code&gt;StrictHostKeyChecking&lt;/code&gt; 与 &lt;code&gt;UserKnownHostsFile&lt;/code&gt;，已核验 2026-08-22。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://man.openbsd.org/ssh-keygen"&gt;OpenSSH &lt;code&gt;ssh-keygen&lt;/code&gt; 手册&lt;/a&gt;，指纹检视，已核验 2026-08-22。&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item></channel></rss>