说明
- 本文以
openssl-1.0.2p
和openssh-7.9p1
为例- 先编译安装新版本的OpenSSL,然后基于新版本的OpenSSL编译安装OpenSSH
- RHEL/CentOS-6.x和7.x的操作类似
注意事项
- 请不要盲目复制粘贴
- 考虑好每一步的后果,做好备份
- 先拿测试服务器做白老鼠测试,通过之后再通过自动化部署的方式升级
下载源代码
OpenSSL
OpenSSH
检查当前版本
1 | # 检查openssl版本 |
安装编译环境
1 | yum install -y gcc make zlib-devel pam-devel libedit-devel krb5-devel |
安装OpenSSL
解压源代码
1 | tar xzf openssl-1.0.2p.tar.gz |
编译安装
编译选项参照CentOS-7.x软件包的选项
1 | cd openssl-1.0.2p.tar.gz |
备份旧版本的openssl
1 | mv /usr/bin/openssl /usr/bin/openssl.`date +%Y%m%d`bak |
创建软链接到新版本openssl
1 | ln -sv /usr/local/openssl-1.0.2p/bin/openssl /usr/bin/openssl |
创建新版本的链接库
1 | cat > /etc/ld.so.conf.d/openssl-1.0.2p.conf <<EOF |
检查openssl版本
1 | openssl version |
安装OpenSSH
解压源代码
1 | tar xzf openssh-7.9p1.tar.gz |
使用新版OpenSSL编译安装OpenSSH
1 | cd openssh-7.9p1 |
备份替换OpenSSH
1 | for binary in `ls /usr/local/openssh-7.9p1/bin/`;do |
链接配置目录到新版本的OpenSSH
1 | mv /usr/local/openssh-7.9p1/etc /usr/local/openssh-7.9p1/etc.bak |
检查SSH配置
1 | sshd -t -f /etc/ssh/sshd_config |
重启SSH服务
- RHEL/CentOS-6.x
1 | service sshd restart |
- RHEL/CentOS-7.x
修改/usr/lib/systemd/system/sshd.service
1 | vim /usr/lib/systemd/system/sshd.service |
重启sshd服务
1 | systemctl daemon-reload |
检查OpenSSH版本
1 | ssh -V |