Suse 12更新操作系统Openssl(3.2.0)、OpenSSH(9.6p1)及ntp(4.2.8p17)(源码编译安装)

部署前准备

  • 安装依赖
    • zypper install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
    • zypper install -y pam* zlib*
    • SUSE的pam模块支持与其他Linux不同,请按需检查
  • openssh-9.6p1.tar.gz
  • openssl-3.2.0.tar.gz
  • zlib-1.3.1.tar.gz(openssh支持包)
  • ntp-4.2.8p17.tar.gz
  • 备份文件
  • cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

安装zlib支持包

解压安装包

  • tar zxvf zlib-1.3.1.tar.gz
  • cd zlib-1.3.1

编译安装zlib

  • ./configure --prefix=/usr/local/zlib
  • make && make install

此处将zlib安装到服务器 /usr/local/zlib

升级Openssl

解压openssl安装包

  • tar zxvf openssl-3.1.0.tar.gz
  • cd openssl-3.1.0

备份旧Openssl

  • mv /usr/bin/openssl /usr/bin/openssl_old
  • mv /usr/include/openssl /usr/include/openssl_old

编译安装Openssl

  • ./config --prefix=/usr/local/openssl && make && make install

创建操作系统软链接

  • ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
  • ln -s /usr/local/openssl/include/openssl /usr/include/openssl

设置加载库

  • 注意:lib库名称,旧版本是'lib',新版本编译后是'lib64',故 编译完成后检查自己安装的路径lib库名称
  • echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
  • ldconfig -v

检查Openssl版本

  • openssl version

升级Openssh

解压openssh安装包

  • tar zxvf openssh-9.3p1.tar.gz
  • cd openssh-9.3p1/

备份旧openssh目录

  • mv /etc/ssh /etc/ssh_old

编译安装Openssh

  • ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-md5-passwords --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --without-hardening
  • make && make install

备份旧文件

  • mv /usr/sbin/sshd /usr/sbin/sshd_old
  • mv /etc/sysconfig/sshd /etc/sysconfig/sshd_old
  • mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service_old

卸载openssh

  • for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps ;done

还原openssh配置文件

  • cp -a /etc/ssh_old/sshd_config /etc/ssh/sshd_config
  • mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli
  • cp /etc/pam.d/sshd.bak /etc/pam.d/sshd

替换新版本openssh相关命令

  • cp -arf /usr/local/openssh/bin/* /usr/bin/
  • cp -arf /usr/local/openssh/sbin/sshd /usr/sbin/sshd

拷贝启动脚本

  • cp -a contrib/suse/rc.sshd /etc/init.d/sshd
  • cp -a contrib/suse/sysconfig.ssh /etc/sysconfig/ssh
  • chmod +x /etc/init.d/sshd

设置开机启动,并验证版本

  • systemctl daemon-reload
  • chkconfig --add sshd && chkconfig sshd on
  • systemctl start sshd
  • ssh -V

设置安全性

检查配置并注释不支持的参数

  • sshd -t

更新ntp服务

解压ntp安装包

  • tar -zxvf ntp-4.2.8p17.tar.gz
  • cd ntp-4.2.8p17

卸载旧版本ntp服务

  • rpm -e ntp

编译安装ntp服务

  • ./configure --prefix=/usr/local/ntp --with-openssl-libdir=/usr/local/openssl/lib64 --enable-all-clocks --enable-parse-clocks CFLAGS=-fPIC
  • make && make install

拷贝配置文件

  • cp /usr/local/ntp-4.2.8p17/bin/ntp* /usr/bin/
  • mv /etc/ntp.conf.rpmsave /etc/ntp.conf

拷贝服务启动文件

  • cp /usr/local/ntp/bin/ntpd /etc/init.d/ntpd

配置开机启动检查服务器是否启动成功

  • systemctl daemon-reload
  • chkconfig --add ntpd && chkconfig ntpd on
  • systemctl restart ntpd
  • systemctl status ntpd

查看ntp版本

  • ntpd --version
相关推荐
Antonio9151 小时前
【Linux】 Linux 进程控制
linux·运维·服务器
thinkMoreAndDoMore1 小时前
linux驱动开发(1)-内核模块
linux·运维·驱动开发
darin_ฅ( ̳• ◡ • ̳)ฅ11 小时前
Linux环境-通过命令查看zookeeper注册的服务
linux·zookeeper
不想头秃a2 小时前
JavaEE初阶-网络编程
java·运维·服务器·网络
一ge科研小菜鸡2 小时前
云原生 DevOps 实践路线:构建敏捷、高效、可观测的交付体系
运维·云原生·devops
Chuncheng's blog2 小时前
CentOS 7 如何pip3安装pyaudio?
linux·运维·python·centos
西阳未落2 小时前
Linux(12)——基础IO(下)
linux·运维·服务器
什么半岛铁盒2 小时前
云服务器Xshell登录拒绝访问排查
运维·服务器
cido2 小时前
kali在apt update报错提示没有公钥
linux·apt·kali
wqqqianqian3 小时前
国产linux系统(银河麒麟,统信uos)使用 PageOffice在线编辑word文件保存数据同时保存文件
linux·word·信创·国产·保存·pageoffice·在线编辑