当前位置: 首页 > news >正文

OpenSSH 9.9p2 编译安装全流程指南

🔐 OpenSSH 9.9p2 编译安装全流程指南

适用系统:麒麟 v10 SP3、Ubuntu 22.04 LTS、CentOS 7.9
📝 目的:从源码编译安装 OpenSSH 9.9p2 并升级 OpenSSL 至 1.1.1w 版本
🧰 适用于:系统管理员、安全加固、漏洞修复场景


📚 目录

  1. 概述
  2. 通用准备工作
  3. 麒麟 v10 SP3 安装流程
  4. Ubuntu 22.04 LTS 安装流程
  5. CentOS 7.9 安装流程
  6. 常见问题与解决方法
  7. 总结与后续建议

1️⃣ 概述

本文档提供在以下三种 Linux 发行版中编译安装 OpenSSH 9.9p2 的完整操作流程,并附带 OpenSSL 升级、telnet 临时连接配置、systemd 启动脚本等实用操作说明:

系统名称版本信息是否已验证
麒麟 LinuxKylin v10 SP3✅ 是
Ubuntu22.04 LTS✅ 是
CentOS7.9✅ 是

2️⃣ 通用准备工作

安装依赖包

🐧 CentOS / 麒麟
sudo yum install -y gcc make zlib-devel openssl-devel pam-devel perl wget
🐱 Ubuntu
sudo apt update
sudo apt install -y build-essential zlib1g-dev libssl-dev perl wget

下载 OpenSSH 源码包

cd /usr/local/src
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz
tar -zxvf openssh-9.9p2.tar.gz
cd openssh-9.9p2

3️⃣ 麒麟 v10 SP3

编译安装 OpenSSH

./configure --prefix=/app/tools/openssh-9.9p2/
make -j $(nproc)
make install

创建软链接:

ln -s /app/tools/openssh-9.9p2 /app/tools/openssh

配置 Telnet 临时连接(防止断连)

yum install -y telnet-server
systemctl enable telnet.socket --nowuseradd zbl
echo 'zhubaolin@123' | passwd --stdin zbl
echo 'zbl ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers

使用 telnet 登录后切换 root 用户进行操作。


修改 SSHD 配置文件

cp /app/tools/openssh/etc/sshd_config{,.bak}
cat > /app/tools/openssh/etc/sshd_config <<EOF
Port 22
PermitRootLogin yes
PasswordAuthentication yes
UseDNS no
EOF

停止旧服务并启动新版本:

pkill sshd
/app/tools/openssh/sbin/sshd

设置环境变量

echo 'export PATH=/app/tools/openssh/bin:/app/tools/openssh/sbin:$PATH' >> /etc/profile
source /etc/profile

systemd 管理服务

创建服务文件 /usr/lib/systemd/system/sshd99.service

[Unit]
Description=OpenSSH 9.9 server daemon
After=network.target[Service]
Type=simple
ExecStart=/app/tools/openssh/sbin/sshd -D
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target

启用服务:

systemctl daemon-reload
systemctl disable --now sshd
systemctl enable --now sshd99

清理旧版本(谨慎操作-可选)

rpm -qa | grep openssh | xargs rpm -e --nodeps

4️⃣ Ubuntu 22.04 LTS

安装 Telnet 服务

apt install -y openbsd-inetd telnetd

配置文件 /etc/xinetd.d/telnet

service telnet
{disable         = noflags           = REUSEsocket_type     = streamwait            = nouser            = rootserver          = /usr/sbin/in.telnetdlog_on_failure += USERID
}

启动服务:

systemctl enable inetd --now

编译安装 OpenSSH

步骤同上(略)


systemd 配置

创建用户 sshd

useradd -s /sbin/nologin -M sshd

配置 systemd 文件后启用服务:

systemctl daemon-reload
systemctl enable --now sshd99
systemctl disable --now inetd

5️⃣ CentOS 7.9

升级 OpenSSL 到 1.1.1w

wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config
make -j $(nproc)
make installecho '/usr/local/lib64/' > /etc/ld.so.conf.d/openssl.conf
ldconfig

编译安装 OpenSSH

步骤同上(略)


创建软链接和环境变量

ln -s /app/tools/openssh-9.9p2 /app/tools/openssh
echo 'export PATH=/app/tools/openssh/bin:/app/tools/openssh/sbin:$PATH' >> /etc/profile
source /etc/profile

6️⃣ 常见问题与解决方法

问题描述解决方法
libcrypto not found找不到 OpenSSL 共享库/usr/local/lib64 加入 /etc/ld.so.conf.d/openssl.conf 并执行 ldconfig
command not found新安装的命令无法识别检查 PATH 环境变量是否设置正确
sshd: no hostkeys available缺少主机密钥执行 ssh-keygen -A 自动生成
configure: error: no C compiler found缺少编译器安装 gcc 工具链

7️⃣ 总结与后续建议

✅ 总结流程图(以 CentOS 为例)

步骤内容
✅ 1安装依赖
✅ 2下载并解压 OpenSSH 源码
✅ 3编译安装 OpenSSH
✅ 4创建软链接与环境变量
✅ 5修改配置文件 /app/tools/openssh/etc/sshd_config
✅ 6配置 systemd 启动脚本
✅ 7启动服务并关闭 telnet
✅ 8可选:清理旧版本 openssh/openssl 包

📌 后续建议

  • 定期更新 OpenSSH 和 OpenSSL,保障系统安全性;
  • 使用自动化工具如 Ansible 或 SaltStack 批量部署;
  • 推荐将此文档打包为 RPM 或 Deb 包,便于复用;

相关文章:

  • Linux概述
  • go多线程压测监控
  • [Linux] 再谈 Linux Socket 编程技术(代码示例)
  • 【AI论文】工具之星(Tool-Star):通过强化学习赋能具备大型语言模型(LLM)思维的多工具推理器
  • 一体化雷达波明渠流量计简介
  • 【数据集】中国大陆城市建筑楼面面积高分辨率数据集(2017年)
  • Vue 3 路由传参使用指南
  • JavaSE核心知识点03高级特性03-04(Lambda表达式)
  • 【RocketMQ 生产者和消费者】- 生产者启动源码 - MQClientInstance 定时任务(4)
  • 开盘啦 APP 抓包 逆向分析
  • 真实案例拆解:智能AI客服系统中的两类缓存协同
  • 高分辨率北半球多年冻土数据集(2000-2016)
  • 7.1查找的基本概念
  • 第307个VulnHub靶场演练攻略Corrosion: 2
  • 可编程运动控制器行业2025数据分析报告
  • SQL每日一题(5)
  • 模拟电子技术基础----绪论
  • 【刷题】质数因子
  • JDK21深度解密 Day 2:虚拟线程入门与基础应用
  • lc hot 100之:环形链表
  • wordpress只能在局域网/seog
  • 可以做猫头像的网站/全国推广优化网站
  • 网站毕业设计答辩问题/谷歌推广方案
  • 电商个人网站建设/域名注册多少钱
  • 直播开放平台/seo chinaz
  • 淘宝客优惠券网站建设加盟官网/南通百度网站快速优化