参考资料

  1. riscv-toolchains安装加速
  2. ubuntu-cdimage安装加速
  3. slackwarearm安装加速
  4. qubesos安装加速
  5. mirror.hs-esslingen.de - OpenBSD 软件镜像站
  6. mxlinux-isos安装加速
  7. qemu.git安装加速
  8. zabbix安装加速

OpenSSH安装加速

OpenSSH 安装加速

OpenSSH 是 Linux 服务器上几乎不可或缺的组件,既提供 `ssh` 客户端,也提供 `sshd` 服务端。无论是新装机器首次部署,还是从源码编译升级版本,安装过程都可能因为网络、依赖或编译而变得缓慢。本文从网络、包管理、源码编译、并行与缓存几个角度,整理可落地的加速思路。

一、先判断"慢"在哪里

加速之前要先定位瓶颈,否则容易做无用功。

现象可能瓶颈快速确认
下载迟缓、进度条卡住源站带宽 / 跨境链路`curl -o /dev/null -s -w '%{time_total}\n' <URL>`
更新元数据慢包索引同步`time apt update` / `time dnf makecache`
编译阶段耗时CPU 核心数 / 依赖编译`nproc`、`top`
反复重装缓存未命中查看本地包缓存目录大小

判断清楚后再选择对应手段,避免"一把梭"改配置。

二、网络层:就近取源

1. 使用就近镜像

Debian/Ubuntu 可把 `/etc/apt/sources.list` 中的地址替换为就近镜像站;RHEL 系可切换到本地区可访问的镜像仓库。替换前建议备份原文件,并确认镜像站确实提供了所需发行版与架构。 bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2. 局域网缓存代理

在多台机器批量安装时,搭建一台本地代理或缓存可显著减少重复外网流量。常见做法是配置 http(s) 代理或缓存服务,并让包管理器指向它。 bash export https_proxy="http://proxy.internal:3128" export http_proxy="http://proxy.internal:3128" 对 APT 可在 `/etc/apt/apt.conf.d/` 下单独放置代理片段,避免污染全局环境。

3. 复用已下载的包

若目标环境已有相同版本、相同架构的安装包,可直接拷贝安装,省去重复下载。注意校验哈希,避免损坏或篡改的包进入系统。

三、包管理器层:减少等待

1. 只做必要操作

  • 安装前不必每次 `upgrade` 全系统,只装需要的包即可。
  • 用 `--no-install-recommends`(Debian 系)或最小依赖集,减少连带下载。
  • 只在元数据确实过期时刷新索引,避免无意义的 `update`。

bash sudo apt-get install -y --no-install-recommends openssh-server RHEL 系可用: bash sudo dnf install -y --setopt=install_weak_deps=False openssh-server

2. 关闭交互与文档

安装时常见的时间浪费来自交互式提示和文档包生成。 bash export DEBIAN_FRONTEND=noninteractive 部分发行版可通过配置跳过文档安装,进一步缩短时间,但需评估对后续排查是否有影响。

3. 保留本地缓存

默认安装完成后包缓存可能被清理。若同类机器批量部署,保留缓存目录可让后续安装瞬间完成。缓存目录一般位于 `/var/cache/apt/archives` 或 `/var/cache/dnf`。

四、源码编译层:真正吃 CPU 的部分

从源码安装 OpenSSH 时,OpenSSL 与 zlib 依赖往往是耗时大头。

1. 并行编译

`make` 加 `-j` 参数,数值一般设为 CPU 核心数或略高: bash make -j"$(nproc)" 并行度过高反而可能因内存不足或 I/O 竞争变慢,建议先用 `nproc` 与 `free -h` 评估。

2. 针对性裁剪

编译时可通过配置项关闭不需要的功能(如某些认证方式、PAM 支持与否),减少编译单元。裁剪需结合安全与兼容性需求,不建议为了速度随意去掉关键特性。

3. 使用系统依赖而非自带编译

若系统已提供兼容版本的 OpenSSL,优先链接系统库,可省去自行编译的时间。仅当需要特定版本特性或安全修复时,才考虑自带编译。

4. 合理选择编译器优化

适度使用 `-O2` 等常规优化即可;追求极限优化收益有限,却可能拉长编译时间并引入兼容风险。

五、并行与批量部署

在多机环境下,逐台登录安装是最大的时间浪费。可用以下方式并行:

  • 配置管理工具(Ansible、SaltStack 等):并发下发安装任务。
  • 批量脚本 + SSH 多路复用:复用连接,减少握手开销。
  • 镜像/模板:把安装好的系统做成镜像,新机器直接克隆,从源头跳过安装。

bash

SSH 连接复用示例

Host * ControlMaster auto ControlPath ~/.ssh/cm-%r@%h:%p ControlPersist 10m

六、验证与注意事项

加速的手段不能以牺牲正确性为代价,安装后建议做基本校验: bash ssh -V # 查看客户端版本 sudo sshd -t # 检查服务端配置语法 systemctl status sshd # 确认服务运行 几点提醒:

  1. 替换源、代理、镜像前先备份原配置,便于回滚。
  2. 使用第三方镜像或缓存时,确认其可信度与完整性校验机制。
  3. 编译升级 OpenSSH 前,务必确认新版本与现有 `sshd_config`、认证方式、PAM 配置兼容,避免升级后无法登录。
  4. 保留一个已登录的会话或带外访问通道,防止改配置把自己锁在门外。

七、小结

OpenSSH 安装加速的核心思路可以归结为三点:

  • 就近取源:让下载走最短、最通畅的链路。
  • 减少重复:用缓存、复用、镜像避免下载和编译的重复劳动。
  • 并行与精简:并行编译、按需裁剪、批量并发部署。

实际执行时,先测量瓶颈,再针对瓶颈动手,通常比盲目调参更有效。速度提升应建立在可验证、可回滚的前提下,而不是以稳定性为代价。

作者:王壹杰
时间:2026-10-07
来源:https://mirror.ciilii.com/