
模块6网络安全、加密及安全通信实战面向 Linux 云计算工程师的网络安全与密码学实战笔记。所有命令输出均来自真实运行概念类脚本在本地bash 5.3.9/OpenSSL 3.5.6/python3实跑主机侧证据由paramiko实连你提供的 4 台华为云 ECSUbuntu 24.04 atomcode 部署机Ubuntu 22.04以root 只读巡检/tmp 下非破坏性加密实战得到。全程未修改任何生产主机的防火墙、sshd 配置或业务文件。0. 实验环境与开篇说明主机角色公网 IP私网 IP系统规格ecs-146b-0001Web/DNS113.44.140.3192.168.0.90Ubuntu 24.048vCPU/16Gecs-146b-0002Web(apache2)123.60.217.187192.168.0.230Ubuntu 24.048vCPU/16Gecs-146b-0003NFS/rpcbind114.116.226.73192.168.0.229Ubuntu 24.048vCPU/16Gecs-146b-0004基础120.46.91.123192.168.0.248Ubuntu 24.048vCPU/16Gatomcode部署机117.72.182.3172.16.0.3Ubuntu 22.04—安全约定巡检命令全部只读ufw/iptables/nft/ss/sshd -T/last/lastb/配置cat加密实战在/tmp下生成临时密钥/证书/密文不触碰任何业务文件与系统配置、不重启服务。1. 本篇使用的提示词Prompt与工具提示词即本次任务指令节选参考教学目标掌握网络安全、加密及安全通信。 关键技能对称/非对称加密、哈希、PKI 与数字证书、SSH 安全通信、 防火墙(ufw/iptables)、TLS/HTTPS、主机安全基线、VPN/隧道。 提供 4 台 ECS atomcode 部署机root 密码已给。 需要实操并且体现实操效果需要体现提示词和使用工具 源码代码仓库地址输出博客《模块6:网络安全、加密及安全通信实战》 适合在互联网平台发表。使用的工具本地Git Bashbash 5.3.9、OpenSSL 3.5.6、python3 3.13、sha256sum、gpg、ssh、curl远程采集paramikoPython SSH 库——密码 SSH 实连 5 台主机执行只读命令被采主机自带OpenSSL 3.0.13、OpenSSH 9.6p1、ufw、iptables/nft、ss、AppArmor2. 密码学三支柱对称 / 非对称 / 哈希先建立最核心的心智模型再用脚本把看不见的密码学跑出看得见的结果。2.1 对称加密同一把密钥加解密本地 XOR 演示bashscripts/01_symmetric_demo.sh明文 : TOP SECRET 2026 明文(hex) : 544f50205345435245542032303236 密钥 : 0x5A (0x5A) 密文(hex) : 0E150A7A091F19081F0E7A686A686C - 无明文特征看似随机 解密(hex) : 544F50205345435245542032303236 ✓ 解密hex 原始hex 同一个密钥完成加解密这就是对称加密 密钥泄露全盘泄露 故需用非对称/DH 安全协商出对称密钥工业级对称算法是AES本篇 4.3 在真实主机用openssl enc -aes-256-cbc实跑。对称加密快但如何安全把密钥分给对方是难题——交给下一节。2.2 非对称加密 密钥协商Diffie-Hellman本地数值演示bashscripts/03_diffie_hellman.py公开参数(可被窃听): 大素数 p23, 生成元 g5 Alice 私钥 a19 (保密); 公开值 Ag^a mod p7 Bob 私钥 b7 (保密); 公开值 Bg^b mod p17 Alice 算出共享密钥 5 Bob 算出共享密钥 5 双方相等? True 窃听者只知道 p,g,A,B想反推 a/b 需要解离散对数(大数下计算不可行)安全DH 解决了在不安全信道上协商共享密钥的问题RSA/ECDSA 则用于加密/签名。真实主机的ssh-keygen -t ed255192.3、4.1用的就是非对称密钥对。2.3 哈希与完整性 / 数字签名本地实跑bashscripts/02_hash_integrity.sh原始哈希: 8983e91ded45e38b442ccc659e2e7b6a7522334246fe736a30d8bc02a8768bd0 篡改哈希: 65b53ad27552c6b1458c18a8b7b52543686e9bebf99d0ca3c2109ebd0d089109 ✓ 哪怕改一个字完整性校验立即失败 正常消息 HMAC: 05b826e435ea4105feb7d820e5828bdf352a6534fc6e23efbd6b6cd4bbcd5703 篡改消息 HMAC: 7b5086965e572e6307b471e28500c45ea3f93c4078fb623ff604cbdb6f0970ee ✓ 内容一改 HMAC 立即不同 接收方比对即知被篡改/伪造 ✓ 篡改后验签失败 签名绑定原文无法抵赖/伪造三种原语职责不同哈希完整性HMAC完整性身份认证非对称签名完整性身份认证不可抵赖。3. PKI 与数字证书CA、自签、证书链3.1 自签 X.509 证书真实主机 113.44.140.3 实跑# 在真实主机 /tmp 下生成 RSA 私钥 自签证书非破坏性openssl genrsa-out/tmp/demo.key2048openssl req-new-x509-key/tmp/demo.key-out/tmp/demo.crt-days365\-subj/CCN/STBJ/LBJ/ODemoOrg/OUSec/CNdemo.example.comopenssl x509-in/tmp/demo.crt-noout-subject-issuer-dates-serialsubjectC CN, ST BJ, L BJ, O DemoOrg, OU Sec, CN demo.example.com issuer C CN, ST BJ, L BJ, O DemoOrg, OU Sec, CN demo.example.com # 签发者主体 自签名 notBeforeJul 20 14:10:08 2026 GMT notAfter Jul 20 14:10:08 2027 GMT serial 2679B55A23168696A6DBFCE600B9FA4B09034191证书文本关键字段Certificate: Data: Version: 3 (0x2) Signature Algorithm: sha256WithRSAEncryption Issuer: C CN, ST BJ, ... CN demo.example.com Validity Not Before: Jul 20 14:10:08 2026 GMT Not After : Jul 20 14:10:08 2027 GMT Subject: C CN, ST BJ, ... CN demo.example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit)自签名证书的签发者主体浏览器/客户端默认不信任——只适合内部测试。生产用证书须由受信任CA如 Let’s Encrypt、DigiCert、GlobalSign签发形成证书链。3.2 真实公网证书链真实主机openssl s_client实跑openssl s_client-connectwww.baidu.com:443-servernamewww.baidu.com/dev/null2/dev/null\|grep-E^subject|^issuer|^VerifysubjectC CN, ... O Beijing Baidu Netcom Science Technology Co., Ltd, CN baidu.com issuer C BE, O GlobalSign nv-sa, CN GlobalSign RSA OV SSL CA 2018 Verify return code: 0 (ok) # 证书链受信任、验签通过第二台主机对www.qq.com抓取签发者为DigiCert Secure Site OV G2——印证了不同站点由不同受信任 CA 背书。TLS 握手时服务器把站点证书 中间 CA 证书发给客户端客户端用本地信任库中的根 CA逐级验签任一环断裂即报警如自签、过期、域名不符。4. SSH 安全通信密钥登录与 sshd 加固4.1 生成密钥对真实主机 本地双实跑ssh-keygen-ted25519-f/tmp/demo_ed25519-N-Cdemosecuritycat/tmp/demo_ed25519.pub ssh-keygen-lf/tmp/demo_ed25519.pubssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAkQ7gGSLF2v2nDBpELdPN/OBIOnL25ivkAEbilo4KK demosecurity 256 SHA256:x7VShcBd5UuDfAClYTS2Mp8vdsYPD6Oeue3QSqQ0GF8 demosecurity (ED25519)免密登录原理挑战-应答服务器持公钥(~/.ssh/authorized_keys)客户端持私钥服务器发随机挑战 → 客户端用私钥签名 → 服务器用公钥验签。验过即证明你持有私钥全程不传密码天然抗窃听、抗暴破。4.2 真实主机 sshd 配置审计4 台 ECS 巡检一致sshd-T|grep-Eipermitrootlogin|passwordauthentication|pubkeyauthentication|x11forwardingport 22 maxauthtries 6 permitrootlogin yes # ⚠ 允许 root 直接登录 passwordauthentication yes # ⚠ 允许密码登录暴破风险 pubkeyauthentication yes x11forwarding yes # 可关减小攻击面 permitemptypasswords no这 4 台主机的 sshd 都允许 root 密码登录。配合下面的失败登录证据这正是互联网上 SSH 暴破最爱钻的口子。生产建议PermitRootLogin no、PasswordAuthentication no、仅留PubkeyAuthentication yes见第 8 章加固示例。5. TLS/HTTPS传输层安全实战验证除 3.2 的s_client外本地也直接验证了公网 TLS需联网bashscripts/05_tls_inspect.sh--- www.baidu.com --- subjectCCN, ... CNbaidu.com issuerCBE, OGlobalSign nv-sa, CNGlobalSign RSA OV SSL CA 2018 Protocol: TLSv1.2 Verify return code: 0 (ok) --- www.qq.com --- subjectCCN, ... CNwww.qq.com issuerCUS, ODigiCert, Inc., CNDigiCert Secure Site OV G2 TLS CN RSA4096 SHA256 2022 CA1 Protocol: TLSv1.2 Verify return code: 0 (ok) * ALPN: server accepted http/1.1 HTTP/1.1 200 OK看到issuerGlobalSign/DigiCert等受信任 CA、Verify return code: 0 (ok)即说明证书链可信、TLS 加密通道已建立。现代站点普遍协商到TLS 1.2/1.3TLS 1.0/1.1 已废弃。6. 防火墙ufw / iptables / nftables6.1 真实主机防火墙状态巡检结果4 台 ECS 的ufw status均为Status: inactiveiptables各链policy ACCEPT且无规则### 防火墙 ufw 状态 Status: inactive ### iptables 规则 Chain INPUT (policy ACCEPT 0 packets, 0 bytes) Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)⚠4 台生产主机均未启用主机防火墙安全组是唯一边界。若安全组配置失误主机直接暴露。6.2 atomcode 部署机的云厂商 HIDS 链atomcode(117.72.182.3, Ubuntu 22.04) 的iptables/nft里能看到云厂商注入的主机入侵检测HIDS链JDCLOUDHIDS_*Chain JDCLOUDHIDS_IN (1 references) Chain JDCLOUDHIDS_OUT (1 references) table ip filter { chain INPUT { type filter hook input priority filter; policy accept; counter packets 13399947 ... jump JDCLOUDHIDS_IN_LIVE counter packets 13399947 ... jump JDCLOUDHIDS_IN } ... }6.3 ufw 最小可用规则示例文档未在生产执行# 默认拒绝入站、允许出站仅放行 SSH(改端口更佳) 与业务端口ufw default deny incoming ufw default allow outgoing ufw allow22/tcp# 建议改成非 22 端口 仅限运维 IPufw allow80,443/tcp ufwenable# 查看ufw status verbose# nftables 等价nft add rule inet filter input tcp dport 22 accept7. 主机安全基线端口 / 服务 / 用户 / 登录审计7.1 监听端口与暴露面真实主机ss -tunap节选主机暴露的关键服务ecs-146b-0001named(DNS) 192.168.0.90:53、127.0.0.1:53nginx进程ecs-146b-0002apache2:80 / :443、sshd:22ecs-146b-0003rpcbind:111、rpc.mountd(NFS 暴露)atomcodesshd:22、atomcode代理:13457、多个python3(5000/8080/9090…)rpcbind(111) 与 NFS 直接绑在0.0.0.0上是经典高危面应限制来源或用nft仅放行内网。7.2 失败登录 真实暴破证据巡检lastbecs-146b-0002 的lastb直接抓到字典式暴破来源45.156.87.70dev ssh:notty 45.156.87.70 Mon Jul 20 22:08 sharon ssh:notty 45.156.87.70 Mon Jul 20 22:08 ian ssh:notty 45.156.87.70 Mon Jul 20 22:08 user1 ssh:notty 45.156.87.70 Mon Jul 20 22:08ecs-146b-0001 也出现对root的ssh失败登录来源114.116.217.165且ss中可见SYN-RECV态的入向 SSH 连接——这是正在发生的扫描/暴破。结论必须关密码登录、改端口、上 fail2ban/云安全组限速。7.3 强制访问控制4 台 ECS 均为AppArmorapparmor module is loaded121 个 profile、26 个 enforceSELinux 未启用——Ubuntu 系默认用 AppArmor区别于 CentOS/RHEL 的 SELinux。8. 安全加固实战示例配置未在生产执行以免影响业务把第 4/6/7 章的发现落成可落地的加固。以下为示例文件本篇未写入任何生产主机/etc/ssh/sshd_config.d/10-hardening.confPort 2222 # 改默认端口减少自动化暴破 PermitRootLogin no # 禁止 root 直登 PasswordAuthentication no # 仅公钥 PubkeyAuthentication yes MaxAuthTries 3 ClientAliveInterval 300 X11Forwarding no配套防火墙仅放行业务新 SSH 端口、限制来源ufw allow from 运维IP to any port2222proto tcp ufw allow80,443/tcp ufw default deny incomingufwenable再加fail2ban自动封禁暴破 IP与第 7.2 的真实攻击日志形成闭环。9. 隧道与 VPN加密通道的安全通信延伸VPN 的本质 密钥协商非对称/DH第 2/3 章 对称加密数据第 2 章 路由转发。下面把临时隧道SSH和站点级 VPNWireGuard / IPsec都跑出真实配置与证据。9.1 SSH 加密隧道临时安全通信利器# 本地转发把本机 8080 映射到远程内网服务(192.168.0.90:80)ssh-N-L8080:192.168.0.90:80 user跳板机# 远程转发把远程 9000 暴露到本机(内网穿透)ssh-N-R9000:localhost:3000 user公网机# 动态 socks 代理(-D)浏览器走加密通道出网ssh-N-D1080user跳板机真实主机ss里已能看到ESTAB的 SSH 加密会话与SYN-SENTatomcode 上python3主动连192.0.2.99:9999的探测——加密通道就在你眼前跑着。9.2 WireGuard极简高性能站点 VPN真实密钥实跑WireGuard 用Curve25519做密钥交换、ChaCha20/AES 做对称加密、无需 PKI/CA靠预交换公钥互信。本地无wg命令用openssl X25519直接产出标准 WG 格式密钥见scripts/06_vpn_demo.shbashscripts/06_vpn_demo.sh########## A. WireGuard 密钥对 (Curve25519 / X25519) ########## server priv(Base64,44) uBcR6osFUcAYdJphaaRJjuZFwS6mRZ0L796beTCDHQ server pub (Base64,44) X64mBXHMpbL/Ch424P0Ofw2H1f4MLxJBcmzKgKfJlhU client priv(Base64,44) iPOQHkX03yR56KnpgQT2291H50ntGQW7TL6tmSAVF8 client pub (Base64,44) qvNz5zvvNsnrRkrQDaONtJL57JX4rvQacrrXq6Oor2Q44 字符的 Base64 正是 32 字节 Curve25519 密钥的标准 WireGuard 格式wg genkey产物同此。把对端pub填进本方[Peer]即可完成身份认证——没有 CA、没有证书分发。可运行配置vpn-configs/wg-server.conf/wg-client.conf用上面的真实公钥/私钥替换占位符wg-server.conf中心站点[Interface] Address 10.0.0.1/24 ListenPort 51820 PrivateKey SERVER_PRIVATE_KEY # 上一步 server priv PostUp sysctl -w net.ipv4.ip_forward1 PostUp iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE PostDown iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE [Peer] PublicKey CLIENT_PUBLIC_KEY # 上一步 client pub AllowedIPs 10.0.0.2/32, 192.168.10.0/24 # 仅放行对端隧道IP 对端内网(最小权限)wg-client.conf分支/移动端[Interface] Address 10.0.0.2/24 PrivateKey CLIENT_PRIVATE_KEY DNS 10.0.0.1 [Peer] PublicKey SERVER_PUBLIC_KEY Endpoint 113.44.140.3:51820 AllowedIPs 0.0.0.0/0 # 全流量走隧道; 站点互联则只写对端网段 PersistentKeepalive 25启停与验证在真实 Linux 主机需wireguard-toolscpwg-server.conf /etc/wireguard/wg0.conf wg-quick up wg0# 拉起接口wg show# 查看握手/流量# 预期: interface: wg0 / public key: X64m... / peer: qvNz... / latest handshake: 时间 / transfer: 上行/下行sysctlnet.ipv4.ip_forward1# 若需互访对端内网9.3 IPsecstrongSwan企业级站点到站点 VPN真实证书链实跑IPsec 走IKEv2 ESP站点间用证书双向认证——正好复用第 3 章 PKI。用scripts/06_vpn_demo.sh的 B 段已实跑出根 CA → 站点证书链########## B. IPsec PKI自建根 CA 两个站点证书 (证书链) ########## --- B1. 根 CA (自签, 仅此一次) --- subjectCCN, STBJ, OVPN-CA, CNVPN-Root-CA serial1F2184AC512F65A8F936E0EB0DB6D0CD27C6FFAB --- B2. 站点 siteA 证书 (由根 CA 签发) --- subjectCCN, STBJ, OVPN, CNsiteA.example.com issuer CCN, STBJ, OVPN-CA, CNVPN-Root-CA # issuer≠subject 由 CA 签发(非自签) serial 68FFB1DD9D5A63BEFDAFBFADC9C3307769E30DBB notBeforeJul 20 14:43:37 2026 GMT notAfter Oct 22 14:43:38 2028 GMT --- B2. 站点 siteB 证书 (由根 CA 签发) --- subjectCCN, STBJ, OVPN, CNsiteB.example.com issuer CCN, STBJ, OVPN-CA, CNVPN-Root-CA # 与 siteA 同根 CAsiteA/siteB的issuer 都是 VPN-Root-CA与第 3 章证书链完全对应两站各持自己的certkey并互信对方根 CA即可完成 IKEv2 双向认证无需共享密码。可运行配置vpn-configs/ipsec-siteA.conf/ipsec-siteB.conf/ipsec.secrets/etc/ipsec.conf站点 A 视角IKEv2 证书config setup charondebugike 2, knl 2, cfg 2 conn siteA-to-siteB type tunnel auto start keyexchange ikev2 ike aes256-sha256-modp2048 # IKE SA: 非对称协商(第2/3章) esp aes256-sha256-modp2048 # IPsec SA: 对称加密数据(第2章) left 10.0.0.1 leftcert siteA.crt leftid siteA.example.com leftsubnet 192.168.10.0/24 right 10.0.0.2 rightid siteB.example.com rightsubnet 192.168.20.0/24/etc/ipsec.secrets: RSA siteA.key本站私钥绝不入库/不提交。启停与验证真实主机需strongswanipsec start# 或: systemctl start strongswanipsec statusall# 预期: Connections: siteA-to-siteB; Security Associations: siteA-to-siteB: #1, ESTABLISHEDswanctl --list-conns# 现代 strongSwan 也可证书生成脚本见vpn-configs/gen-ipsec-certs.sh与 9.3 实跑同源。9.4 WireGuard vs IPsec 选型对照维度WireGuardIPsec (strongSwan/IKEv2)握手/协商Curve25519秒级IKEv2多轮加密原语ChaCha20 / AES-GCMAES / 3DES / 多种身份体系公钥直填无 CA证书PKI或 PSK配置复杂度极简十几行较复杂需 PKI/策略内核/性能主线内核模块快用户态 charon较重典型场景现代站点互联、移动端、云主机企业合规、与旧设备互通、硬件 VPN二者都遵循非对称协商密钥 对称加密数据这一第 2 章主线WireGuard 把 PKI 拿掉更轻IPsec 借 PKI 更易做大规模互信与合规审计。10. 真实主机安全巡检报告汇总5 台主机只读巡检 2 台加密实战原始日志见outputs/113.44.140.3_sec.log/_crypto.log全量密钥对、自签证书、AES、哈希、baidu TLS、openssl 性能123.60.217.187_sec.log/_crypto2.logapache2 暴破证据 qq TLS114.116.226.73_sec.log、120.46.91.123_sec.logNFS/rpcbind、基础基线117.72.182.3_sec.logatomcodeJDCLOUDHIDS HIDS 链、python 服务关键发现真实4 台 ECS 防火墙ufw inactive、iptables 空规则——主机层零防护。全部PermitRootLogin yesPasswordAuthentication yes——root 密码 SSH 直登。lastb显示dev/sharon/ian/user1等字典暴破来源 45.156.87.70ss见SYN-RECV入向 SSH。ecs-146b-0003 的rpcbind:111 / NFS 绑0.0.0.0暴露面偏大。atomcode 上云厂商JDCLOUDHIDS链已注入说明平台侧有 HIDS 兜底。openssl 性能基准真实主机节选type 16 bytes ... 16384 bytes sha256 130774k ... 1788433k # 哈希极快 aes-256-cbc 873594k ... 1027287k # 对称加密快(GB/s 级) rsa 2048 bits sign 4117.7/s verify 61404.5/s # 非对称慢故仅用于握手/签名这张表解释了工程现实非对称慢、对称快→ TLS 用非对称做密钥协商、之后切对称加密正文。11. 源码仓库与复现方法仓库地址Giteehttps://gitee.com/LiaCin/linux-security-practice注Gitee 新建仓库默认私有。如需公开请在仓库Settings → 基本信息中把「是否公开」改为「公开」。本博客内容本身可独立在互联网平台发表。# 1) 克隆gitclone https://gitee.com/LiaCin/linux-security-practice.gitcdlinux-security-practice# 2) 本地实跑全部密码学/概念演示无需任何外部依赖bashscripts/run_all.sh# 3) 对自有云主机做只读安全巡检 非破坏性加密实战需 Python paramikopipinstallparamiko python scripts/diag_security.py# 按脚本内 HOSTS 列表修改 IP/账号目录结构linux-security-practice/ ├── README.md # 项目说明(本文件) ├── 模块6-网络安全、加密及安全通信实战.md # 本博客 ├── scripts/ │ ├── 01_symmetric_demo.sh # 对称加密(XOR)直观演示 │ ├── 02_hash_integrity.sh # 哈希/HMAC/数字签名演示 │ ├── 03_diffie_hellman.py # DH 密钥协商数值演示 │ ├── 04_ssh_key_demo.sh # SSH 密钥对与免密原理 │ ├── 05_tls_inspect.sh # 真实公网 TLS 证书链验证 │ ├── 06_vpn_demo.sh # WireGuard 密钥对 IPsec PKI 证书链(本地实跑) │ ├── diag_security.py # 真实主机只读巡检 加密实战采集器(凭据走环境变量) │ └── run_all.sh ├── vpn-configs/ # 可运行 VPN 配置模板(第9章) │ ├── wg-server.conf / wg-client.conf # WireGuard 中心/分支配置 │ ├── ipsec-siteA.conf / ipsec-siteB.conf / ipsec.secrets # strongSwan IKEv2 │ └── gen-ipsec-certs.sh # 生成 IPsec PKI(根CA两站点证书) ├── outputs/ │ ├── local_demo.log # 本地实跑输出 │ ├── 06_vpn_demo.log # WireGuard/IPsec 实跑证据(真实密钥与证书链) │ ├── 113.44.140.3_sec.log / _crypto.log │ ├── 123.60.217.187_sec.log / _crypto2.log │ ├── 114.116.226.73_sec.log │ ├── 120.46.91.123_sec.log │ └── 117.72.182.3_sec.log └── docs/ └── diag.md # 采集器使用说明12. 面试高频考点小结对称 vs 非对称 vs 哈希—— 对称快(AES)用于加密正文非对称(RSA/ECC)用于密钥协商/签名哈希(SHA)用于完整性。DH 密钥交换—— 不安全信道协商共享密钥安全性依赖离散对数难题。PKI/证书链—— 根 CA → 中间 CA → 站点证书客户端用本地信任库逐级验签。自签 vs CA 签发—— 自签签发者主体不被默认信任仅内部测试用。SSH 加固—— 禁 root 直登、禁密码、仅公钥、改端口、fail2ban。TLS 握手—— 协商密码套件 证书验签 生成会话密钥现代用 TLS1.2/1.3。防火墙——ufw(易用)/iptables(传统)/nftables(新默认)默认拒绝入站。主机基线——ss看暴露面、lastb看暴破、ufw看边界、AppArmor/SELinux 看 MAC。NFS/rpcbind—— 勿绑0.0.0.0限制来源否则成入侵跳板。工程取舍—— 非对称慢、对称快 → 非对称协商 对称加密是 TLS/SSH 的通行做法。VPN 两类—— WireGuardCurve25519 公钥直填、无 CA、极简快IPsec/IKEv2证书/PKI 认证、企业合规、与旧设备互通。二者均为非对称协商 对称加密数据。WG 密钥格式—— 44 字符 Base64 32 字节 Curve25519 私钥wg genkey与openssl X25519等价。本文所有命令输出均来自真实运行本地bash 5.3.9/OpenSSL 3.5.6/python3或 4 台 ECS atomcode 真实主机实采可放心引用。安全巡检为只读、VPN 概念演示在本地临时目录.vpn_demo/与真实主机的/tmp下非破坏生成密钥/证书未对任何生产主机做写操作。