当前位置: 首页 > news >正文

linux系统openssh升级

linux系统openssh升级

说明
整个过程不需要卸载原先的openssl包和openssh的rpm包。本文的环境都是系统自带的openssh,没有经历过手动编译安装方式。如果之前有手动编译安装过openssh,请参照本文自行测试是否能成功。
如果严格参照本文操作,保证你升级没问题

一、安装依赖包

[root@localhost ~]# yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel 

二、下载openssh对应得安装包并上传

openssh-8.0p1.tar.gz此包需要在csdn上面下载
openssl-1.0.2.tar.gz可以在我给得地址进行下载
https://ftp.openssl.org/source/
下载完成之后将这两个包上传到虚拟机喜欢的位置当中。

[root@localhost local]# lsopenssh-8.0p1.tar.gz  openssl-1.0.2.tar.gz  
[root@localhost local]# 

三、安装openssl

解压

[root@localhost local]# tar xf openssl-1.0.2.tar.gz 
[root@localhost local]# 

备份下面两个文件(存在就执行,不存在忽略)

[root@localhost openssl-1.0.2]# mv /usr/bin/openssl /usr/bin/openssl_bak
[root@localhost openssl-1.0.2]# mv /usr/include/openssl/ /usr/include/openssl_bak
[root@localhost openssl-1.0.2]# 

编译安装openssl

[root@localhost local]# cd openssl-1.0.2/
[root@localhost openssl-1.0.2]# ls
ACKNOWLEDGMENTS  CHANGES.SSLeay  doc      GitConfigure  INSTALL.DJGPP  INSTALL.W32   libcrypto.so        libssl.so.1.0.0  Makefile.org     NEWS          perl           rehash.time  tools
apps             config          engines  GitMake       INSTALL.MacOS  INSTALL.W64   libcrypto.so.1.0.0  LICENSE          Makefile.shared  openssl.doxy  PROBLEMS       shlib        util
bugs             Configure       e_os2.h  include       INSTALL.NW     INSTALL.WCE   libssl.a            MacOS            makevms.com      openssl.pc    README         ssl          VMS
certs            crypto          e_os.h   INSTALL       INSTALL.OS2    libcrypto.a   libssl.pc           Makefile         ms               openssl.spec  README.ASN1    test
CHANGES          demos           FAQ      install.com   INSTALL.VMS    libcrypto.pc  libssl.so           Makefile.bak     Netware          os2           README.ENGINE  times
[root@localhost openssl-1.0.2]# ./config shared && make && make install

编译安装完后查看是否编译成功,0代表没有问题

[root@localhost openssl-1.0.2]# echo $?
0
[root@localhost openssl-1.0.2]# 

刚刚前面备份的文件做软连接,没有备份的忽略

[root@localhost openssl-1.0.2]# ln -s /usr/local/ssl/bin//openssl /usr/bin/openssl
[root@localhost openssl-1.0.2]# ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
[root@localhost openssl-1.0.2]# 

执行下面两个命令加载新配置

[root@localhost openssl-1.0.2]# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
[root@localhost openssl-1.0.2]# /sbin/ldconfig
[root@localhost openssl-1.0.2]# 

查看版本,确定版本

[root@localhost openssl-1.0.2]# openssl version
OpenSSL 1.0.2 22 Jan 2015
[root@localhost openssl-1.0.2]# 

四、升级安装openssh

命令方式删除原先ssh得配置

[root@localhost ~]# rm -rf /etc/ssh/*
[root@localhost ~]# 

解压openssh-8.0p1.tar.gz并编译安装

[root@localhost local]# tar xf openssh-8.0p1.tar.gz 
[root@localhost local]# cd openssh-8.0p1/
[root@localhost openssh-8.0p1]# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include  --with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam  && make && make install

检查结果

[root@localhost openssh-8.0p1]# echo $?
0
[root@localhost openssh-8.0p1]# 

修改配置文件并查看

[root@localhost openssh-8.0p1]# echo " PermitRootLogin yes" >> /etc/ssh/sshd_config
[root@localhost openssh-8.0p1]# echo " UseDNS no" >> /etc/ssh/sshd_config
[root@localhost openssh-8.0p1]# grep "PermitRootLogin"  /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
# the setting of "PermitRootLogin without-password".PermitRootLogin yes
[root@localhost openssh-8.0p1]# grep  "UseDNS"  /etc/ssh/sshd_config
#UseDNS noUseDNS no
[root@localhost openssh-8.0p1]# 

从解压的包中拷贝一些文件到目标位置(如果目标目录存在就覆盖)

[root@localhost openssh-8.0p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-8.0p1]#  cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
[root@localhost openssh-8.0p1]# chmod +x /etc/init.d/sshd

检查升级成功

[root@localhost ssh]# chkconfig sshd on
Note: Forwarding request to 'systemctl enable sshd.service'.
[root@localhost ssh]# systemctl enable sshd
[root@localhost ~]# ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2 22 Jan 2015
[root@localhost ~]# 

注意必须关闭将selinux设置成disabled

http://www.lryc.cn/news/37183.html

相关文章:

  • 力扣-求关注者的数量
  • 近红外荧光染料修饰氨基IR 825 NH2,IR 825-Amine,IR-825 NH2
  • Android Crash和ANR监控
  • 【02 赖世雄英语语法:复句的语法】
  • 北斗导航 | 多参考一致性监测算法(MRCC)(附伪码)—— B值计算
  • 数字孪生与 UWB 人员定位:双剑合璧的智能物联新时代
  • 奇点云DataSimba发版全解析:“企业级”版本升级,提供最佳组合
  • 2-7 SpringCloud快速开发入门: Eureka 注册中心高可用集群搭建
  • STL中的函数对象
  • linux下libevent的编译安装
  • 深度学习部署笔记(十): CUDA RunTime API-2.2流的学习
  • [ROC-RK3568-PC] [Firefly-Android] 10min带你了解I2C的使用
  • 工作记录:举步维艰的在线 word 之旅 - tinymce
  • 动态规划编译距离
  • Netty 教程 – 解码器详解
  • Allegro如何自动添加测试点操作指导
  • 【CSS】CSS 背景设置 ③ ( 背景位置-长度值设置 | 背景位置-长度值方位值同时设置 )
  • AbTest —— 不同场景下的应用模式
  • fast-api 一款快速将spring的bean发布成接口并生产对应swagger文档调试的轻量级工具
  • 以公益之名 让人类发现数学之美
  • JUC并发编程之HashMap(jdk1.7版本)-底层源码探究
  • QT Q_OBJECT 和 signals/slots
  • APM新添加UAVCAN设备
  • 【C++】string类基本用法
  • KDZD耐电压高压击穿强度测试仪
  • 数组和指针面试题的补充(细的抠jio)
  • Java多线程基础
  • 爆品分析第5期 | 一条视频带货3700+,这款斋月不锈钢厨具套装火了!
  • 团队管理的七个要点
  • Go语言容器之map、list和nil