Nander 文库

vuePress-theme-reco Nander团队    2010 - 2025
Nander 文库 Nander 文库

Choose mode

  • dark
  • auto
  • light
主页
规范
  • 项目规范
  • 研发规范
  • 设计规范
技术
  • 分布式微服务研发框架
  • 大数据研发框架
  • 前端研发框架
私塾
  • 小鸟课堂(见道境)
  • 菜鸟课堂(证道境)
  • 青鸟课堂(悟道境)
  • 大鸟课堂(修道境)
  • 神鸟课堂(得道境)
杂记
  • 不务正业の技术小记
  • 不务正业の产品小设
  • 不务正业の考证小得
  • 不务正业の论文小写
  • 不务正业の专利小申
  • 不务正业の文学小荐
  • 不务正业の法律小结
标签分类
在线工具
  • 处理JSON
  • 处理XML
  • 处理JS
  • 编码解码
  • 英文大小写转换
  • 随机生成Useragent
  • Cron表达式在线工具
  • PNG转ICO
  • 图片素材
  • 生成艺术字
  • IP查询
  • 在线测速
  • 免费SSL证书
最近更新
联系我
  • Email
  • QQ
  • GitHub
author-avatar

Nander团队

26

文章

7

标签

主页
规范
  • 项目规范
  • 研发规范
  • 设计规范
技术
  • 分布式微服务研发框架
  • 大数据研发框架
  • 前端研发框架
私塾
  • 小鸟课堂(见道境)
  • 菜鸟课堂(证道境)
  • 青鸟课堂(悟道境)
  • 大鸟课堂(修道境)
  • 神鸟课堂(得道境)
杂记
  • 不务正业の技术小记
  • 不务正业の产品小设
  • 不务正业の考证小得
  • 不务正业の论文小写
  • 不务正业の专利小申
  • 不务正业の文学小荐
  • 不务正业の法律小结
标签分类
在线工具
  • 处理JSON
  • 处理XML
  • 处理JS
  • 编码解码
  • 英文大小写转换
  • 随机生成Useragent
  • Cron表达式在线工具
  • PNG转ICO
  • 图片素材
  • 生成艺术字
  • IP查询
  • 在线测速
  • 免费SSL证书
最近更新
联系我
  • Email
  • QQ
  • GitHub
  • 技术小记

    • 笔记指南
    • 免费SSL证书
    • 离线升级OpenSSH

离线升级OpenSSH

vuePress-theme-reco Nander团队    2010 - 2025

离线升级OpenSSH

商鞅 2025-07-30 杂记干货

思路:在版本相同,架构相同的有网络服务器上编译好二进制包后,传输到无网络服务器替换二进制包。

1、下载openssh源码包

2、编译

./configure --prefix=/usr/local/openssh [--sysconfdir=/etc/ssh] --with-md5-passwords --with-pam --with-zlib  --with-tcp-wrappers [--with-ssl-dir=/usr/local/openssl] --with-ssl --without-hardening
1

# 参数解析与默认值说明:

# –prefix=/usr/local/openssh

作用:指定 OpenSSH 的安装根目录。编译后的二进制文件、库、配置文件等会安装在此目录的子文件夹(如 bin、lib、etc 等)。

默认值:–prefix=/usr/local,若不指定,OpenSSH 默认安装到 /usr/local 下,例如:

可执行文件:/usr/local/bin/ssh

配置文件:/usr/local/etc/ssh/sshd_config

# –sysconfdir=/etc/ssh

作用:指定配置文件(如 sshd_config、ssh_config)的安装目录。

默认值:–sysconfdir=$prefix/etc(即 /usr/local/openssh/etc,因为 prefix 被设置为 /usr/local/openssh)。

# –with-md5-passwords

作用:启用MD5密码支持。默认可能禁用,因为MD5不安全。如果用户需要支持旧系统或特定配置,可能需要启用,否则不必。

# –with-pam

作用:启用PAM支持。如果系统使用PAM进行身份验证,可能需要启用。configure脚本可能自动检测系统是否安装了PAM开发包,如果已安装,默认启用,否则禁用。如果用户需要确保启用,即使系统有PAM但自动检测失败,可能需要显式指定。

# –with-zlib

作用:启用zlib压缩支持。OpenSSH可能默认启用,如果zlib已安装,因此可能不需要显式指定,除非需要指定路径或确保启用。

# –with-ssl

作用:指定使用SSL库,如:OpenSSL。如果软件需要SSL/TLS功能(如SSH使用加密),则必须存在SSL库。configure脚本可能默认查找系统安装的OpenSSL,如果找到则自动启用,否则报错。如果用户安装了自定义路径的OpenSSL,则需要–with-ssl=/path。

# –with-tcp-wrappers

作用:启用TCP Wrappers支持。这取决于用户是否需要使用hosts.allow/deny来控制访问,默认可能不启用,因此,如果需要此功能,需显式指定。

# –without-hardening

作用:禁用安全加固选项。默认可能启用某些加固措施,如:栈保护等。禁用可能降低安全性,因此,除非必要,不建议使用。

3、打包传输至无网络服务器

① 先打成tar.gz包,然后上传到需要升级的服务器内并解压到/usr/local/下,生成openssh目录

# 在有网络服务器下进行
cd /usr/local
tar -czvf openssh.tar.gz openssh

# 在无网络服务器下进行
cd /usr/local
tar -xzvf openssh.tar.gz
1
2
3
4
5
6
7

② ldd查看依赖库情况,如果ldd依赖缺失,首先要补充缺失文件,如果不缺失,直接替换二进制包。

# 在无网络服务器下进行
ldd /usr/local/openssh/bin/ssh
1
2

# 在无网络服务器下进行
ldd  /usr/local/openssh/sbin/sshd
1
2

如果上述信息提示存在依赖缺失,首先需要上传包含相关文件的文件包(如:openssl文件包),然后添加依赖配置。

# 在无网络服务器下进行
vim /etc/ld.so.conf

# 添加缺失依赖文件后,刷新配置
ldconfig
1
2
3
4
5

依赖配置添加完毕后,重新执行ldd,查看依赖库情况,直到无缺失为止。

③ 替换二进制文件并查看版本

// 在无网络服务器下进行
rm -rf /usr/bin/ssh && ln  -sv  /usr/local/openssh/bin/ssh  /usr/bin/ssh
rm -rf /usr/sbin/sshd && ln  -sv  /usr/local/openssh/sbin/sshd  /usr/sbin/sshd
1
2
3

④ 检查sshd并重启sshd服务

# 在无网络服务器下进行
# 检查sshd配置
sshd -t

# 重启sshd
systemctl restart sshd
1
2
3
4
5
6