源码包编译安装 openssh9.0

部署环境:

首先,一个问题,为什么要源码包编译安装 openssh,rpm 包安装不香吗?

# 由于安全问题,或者环境中的漏洞扫描软件扫出你当前网络中某些 linux 系统中的 openssh 版本过低,存在安全隐患, 需要升级到最新版本

# 通过 https://rpmfind.net/ 网站搜索 openssh,发现最新的版本只有 8.9(2022-5-28),但我们的需求是安装 openssh9.0

# 在上面没有找到对应的最新版本的 rpm 包,但在官网上有相应版本的源码包,此时就需要我们进行源码包编译安装软件 

# 查看安装的 openssh 版本

# 查看官网的 openssh 最新版本

# 第一步:下载 openssh 的源码包

# 第二步:安装编译所需要的软件(开发工具里包含 gcc 编译器等编译所需的软件)

# 第三步:解压下载的 openssh 源码包

# 第四步:进入解压后的目录,解压后的目录大小为 9.7M

# 第五步:阅读 INSTALL 文档,发现需要有 libcrypto 这个库才能安装成功

# 第六步:尝试编译安装,第一次 check 失败是因为我们没有安装 libcrypto 这个库

# 由第五步得知 libcrypto 这个库来自 libressl 和 openssl

# 对比后发现需要安装 openssl-devel.x86_64 这个包

# 安装后再尝试 checking

# 当出现下面这些信息表示 checking 成功

# 执行 make 进行编译,当 checking 成功后,make 大概率会成功

# make 成功后,进行 make install 编译安装,出现以下结果表示安装成功

# 先禁用之前的 openssh8.0 服务( openssh 服务有保护机制,所以禁止该服务后这个 ssh 会话不会断开,但如果退出该会话之后就不能再通过 ssh 连接了)

# 查看 openssh9.0 的安装路径和配置文件

# 从上图可看出 openssh9.0 默认不支持 root 的 ssh 登录,因此需要开启 root 的 ssh 登录并重启 openssh9.0 对应的 sshd 服务

# openssh9.0 没有对应 systemd 的 service 文件,所以不能用 systemctl restart sshd 这条命令,用这条命令会重启 openssh8.0 服务,并不会重启9.0的服务

# 因此要自定义 openssh9.0 的 service 文件(可以在原版本的基础上修改)

# systemd service 文件写法可参考:systemd 常用命令和配置

# 编写 service 文件

# 重载 service 文件并设置 openssh9.0 服务启动和下次开机启动

# 到此,源码包升级安装 openssh9.0 已经完成,如果想要回滚也很简单,执行下面命令即可

posted @ 2022-05-28 11:49  demoduan  阅读(4210)  评论(0)    收藏  举报