首页 > 其他分享 >OpenSSH和OpenSSL升级至最新

OpenSSH和OpenSSL升级至最新

时间:2022-10-19 14:46:46浏览次数:73  
标签:bin OpenSSH openssl OpenSSL 升级 usr openssh local ssh

OpenSSH和OpenSSL升级至最新

原创 运维鹅 运维鹅 2020-05-07 11:58

一、需求
生产环境有很多服务器漏扫发现了OpenSSH和OpenSSL的漏洞,修复的方法基本都是升级。
注意:
升级前一定要打开两个以上的SHELL连接,并且要保证连接不能超时退出,因为升级如果失败会导致无法建立新连接,那么还可以继续使用已连接窗口回退。
二、升级OpenSSL
1、检查当前版本
openssl version -a
2、分别取openssl的官网下载最新的版本,如当前的:
https://www.openssl.org/source/openssl-1.1.1b.tar.gz
3、编译并安装openssl到新的目录
tar xvf openssl-1.1.1b.tar.gz
./config –prefix=/usr/local/openssl
make -j 2
make install
4、备份旧版的文件
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
5、重新加载openssl库文件,否则执行openssl命令时会提示找不到共享库,这一步也很重要,如果没有这一步,后面升级openssh时会configure过不去
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig -v
为载入openssl库时执行命令会提示如下错误:
[2019-02-28 21:52:30 root@devops bin]# ./openssl version
./openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
6、现在可以检查新的版本了
[2019-02-28 21:55:36 root@devops bin]# openssl version -a
OpenSSL 1.1.1b? 26 Feb 2019
built on: Thu Feb 28 13:48:20 2019 UTC
platform: linux-x86_64
options:? bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)?
compiler: gcc -fPIC -pthread -m64 -Wa,–noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: “/usr/local/openssl/ssl”
ENGINESDIR: “/usr/local/openssl/lib/engines-1.1”
Seeding source: os-specific
三、升级OpenSSH
1、检查当前版本
[2019-02-28 22:00:20 root@devops openssh-7.9p1]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips? 26 Jan 2017
2、去openssh官网下载最新版本,如:
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
3、编译并安装openssh
tar xvf openssh-7.9p1.tar.gz
cd openssh-7.9p1
./configure –prefix=/usr/local/openssh –with-zlib=/lib64 –with-ssl-dir=/usr/local/openssl –with-ssl-engine –with-pam –with-pam-service=sshd –with-privsep-user=sshd –with-selinux –with-privsep-path=/var/empty –with-md5-passwords 
make -j 2
make install
选项说明:
–prefix 指定安装路径
–with-zlib 指定zlib库路径,需要安装zlib和zlib-devel包
–with-ssl-dir 指定openssl路径,如果之前升级ssl时没有执行ldconfig 的操作,那么此处configure时会报错。
–with-ssl-engine 启用硬件引擎支持
–with-pam? 启用pam,需要安装pam和pam-devel包
–with-privsep-user? 指定权限分离一户
–with-selinux 激活selinux支持
–with-privsep-path 指定权限分离的chroot目录
–with-md5-passwords 允许使用md5密码
和openssl相关的报错:
checking for getpgrp… yes
checking if getpgrp accepts zero args… yes
checking OpenSSL header version… not found
configure: error: OpenSSL version header not found.
这个错误坑我踩了很久才偶然解决,娘了个西皮。
4、备份openssh配置
mv /etc/ssh /etc/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak
ln /usr/local/openssh/sbin/sshd /usr/sbin/sshd
ln -s /usr/local/openssh/etc/ /etc/ssh
mv /usr/bin/scp          /usr/bin/scp.bak        
mv /usr/bin/sftp         /usr/bin/sftp.bak       
mv /usr/bin/ssh          /usr/bin/ssh.bak        
mv /usr/bin/ssh-add      /usr/bin/ssh-add.bak    
mv /usr/bin/ssh-agent    /usr/bin/ssh-agent.bak  
mv /usr/bin/ssh-keyscan  /usr/bin/ssh-keyscan.bak
mv /usr/bin/ssh-keygen   /usr/bin/ssh-keygen.bak 
ln /usr/local/openssh/bin/scp         /usr/bin/scp        
ln /usr/local/openssh/bin/sftp        /usr/bin/sftp       
ln /usr/local/openssh/bin/ssh         /usr/bin/ssh        
ln /usr/local/openssh/bin/ssh-add     /usr/bin/ssh-add    
ln /usr/local/openssh/bin/ssh-agent   /usr/bin/ssh-agent  
ln /usr/local/openssh/bin/ssh-keygen  /usr/bin/ssh-keygen 
ln /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan
5、重启sshd服务
service sshd restart
6、版本检查
[2019-02-28 22:44:55 root@devops ~]# sshd -V
unknown option — V
OpenSSH_7.9p1, OpenSSL 1.1.1b  26 Feb 2019
usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
            [-E log_file] [-f config_file] [-g login_grace_time]
            [-h host_key_file] [-o option] [-p port] [-u len]
[2019-02-28 22:44:56 root@devops ~]# ssh -V 
OpenSSH_7.9p1, OpenSSL 1.1.1b  26 Feb 2019

四、更新帮助文档
为了保持新版的man帮助文档,需要配置下:
cat >> /etc/man.config <<EOF
#for openssl openssh
MANPATH_MAP    /usr/local/openssl/bin            /usr/local/openssl/share/man
MANPATH_MAP    /usr/local/openssh/bin            /usr/local/openssh/share/man
MANPATH_MAP    /usr/local/openssh/sbin           /usr/local/openssh/share/man
#end
EOF
现在随便man sshd翻到底就可以看到文档是最新的了。
如果不想配置这里也可以在编译时指定 –mandir=/usr/share/man 选项,那么安装时会自动把帮助文档安装到系统默认帮助目录。

 

阅读 11 运维鹅 3篇原创内容  

标签:bin,OpenSSH,openssl,OpenSSL,升级,usr,openssh,local,ssh
From: https://www.cnblogs.com/cherishthepresent/p/16806157.html

相关文章

  • ubuntu20.04内核升级,增加kvm模块
    ubuntu20.04内核升级,增加kvm模块原创 南哥小白 南小白攻防 2022-03-3115:43    本操作主要是升级内核,体验一下源码编译内核的操作步骤。准备虚拟机以及......
  • 【Git】Mac上升级git的方式
    1、首先,查看自己电脑上安装的git版本1git--version//查看git的版本2、安装HomeBrew/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebre......
  • Windows下创建OpenSSL自签证书及将Windows已有证书pfx文件转化成key、crt文件
    搬运来源: https://blog.csdn.net/snans/article/details/117424407一、在windows下生成OpenSSL自签证书1、准备编译好的OpenSSL下载地址:http://slproweb.com/products......
  • 动作捕捉技术识别细小错位 机械外骨骼适应性升级
    机械外骨骼的重量和惯性将导致作用于穿戴者的冲击力快速变化。当外骨骼与佩戴者的身体紧密结合时,这种力通常是不可避免的。这些问题不仅降低了外骨骼的舒适性和便携性,还增......
  • 升级到React-Router-v6
    前言近期完成了公司新项目的开发,相关的技术栈都用到了最新版本,reactrouter也使用了v6的版本,所以借这个机会自己再梳理下reactrouterv5与v6的区别,以及v6一些新......
  • openssl生成证书
    1.生成CA根证书 #生成CA私钥 opensslgenrsa-outca.key2048#生成CA根证书,-day指定证书有效期opensslreq-new -x509-keyca.key-outca.crt-days3650......
  • 校帮记课消课系统---上课提醒升级
    1、上课提醒发送时间支持自定义,消息推送更灵活!2、系统中老师可以设置课前提醒,老师根据班级排课,或者根据学员排课,或者两者都存在,或者只存在一种排课方式都可以,排课比较自由......
  • CocoaPods升级与Ruby升级问题
    使用Homebrew升级Ruby后,替换系统的Ruby参考以下文章:https://mac.install.guide/ruby/13.htmlpod升级问题参考:https://www.it610.com/article/1294593630094303232.htm......
  • 什么是可升级合约
    什么是可升级的智能合约?你可能知道,智能合约是所有可编程区块链(如以太坊上)的一个重要组成部分。通过确保事情按照预定的规则运行,智能合约强制执行秩序。没有智能合约,就没有......
  • 打破企业数据化升级瓶颈,华为云大数据BI助益企业稳健发展!
    随着移动互联网时代的到来,各企业对于服务转型升级的需求越发强烈。其中,大数据作为支撑业务转型的关键环节,更是在近年来得到了前所未有的重视。而其之所以能够得到企业的高......