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

linux升级openssh提示密码错误,关于linux升级openssh须知

环境介绍:

首先模拟环境为vmware下CentOS7,镜像方面为7.4的minimal版本也就是无任何附加软件。由于openssl是一个非常基础的软件所以会有众多软件依赖于openssl,安装升级一个新版本的openssl会导致覆盖掉原操作系统的openssl,这会导致曾经依赖于openssl的软件功能变得不可用。

具体流程:

查看操作系统版本:

[root@localhost ~]# cat /etc/redhat-release

查看openssh版本:

[root@localhost ~]# ssh -V

查看openssl版本:

一:安装telnet服务:

检查服务器上是否存在telnet:

[root@localhost openssh-7.9p1]# rpm -qa | grep telnet

若未安装,则安装telnet,否则忽略此步骤

[root@localhost ~]# yum install telnet telnet-server

telnet 是挂在 xinetd 底下的,所以同时查看是否安装了xinetd服务

[root@localhost ~]rpm -qa | grep xinetd

如果没有则安装:

[root@service1 ssh]# yum -y install xinetd

二.配置telnet,设置开机启动:

[root@localhost ~]# chkconfig --list | grep telnet

ekrb5-telnet: off

krb5-telnet: on

[root@localhost ~]# chkconfig krb5-telnet on

修改配置文件

vi /etc/xinetd.d/krb5-telnet

将”disable= yes”改成” disable=no”

在centos6系统上修改配置文件后重新执行

会报这个错误,因为telnet服务是默认不托管于xinetd的,telnet是非独立服务,service telnet start 服务起不来,xinetd又不能唤醒该服务。telnet就不能开启服务。

需要对xinetd服务进行重启,此时telnet服务会启动。

将xinetd服务设置为开机自启动:

[root@localhost ~]# chkconfig xinetd on

查看telnet端口状态:

[root@localhost ~]#netstat -tnl |grep 23

tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN

连接测试:

telnet ip

三:

下载想要升级的ssl版本openssl-1.0.2h

[root@service1~]#wget -c http://artfiles.org/openssl.org/source/old/1.0.2/openssl-1.0.2h.tar.gz

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

[root@localhost ~]# cd openssl-1.0.2h

[root@localhost ~]#./config --prefix=/usr/local/ssl --openssldir=/etc/ssl

--libdir=lib shared fPIC zlib-dynamic enable-camellia

[root@localhost ~]#make depend

[root@localhost ~]#make && make install

[root@localhost ~]#make MANDIR=/usr/share/man MANSUFFIX=ssl install &&

[root@localhost ~]#install -dv -m755 /usr/share/doc/openssl-1.0.2h &&

[root@localhost ~]#cp -vfr doc/* /usr/share/doc/openssl-1.0.2h

额外配置必须(为Openssh升级做准备)做好备份

[root@localhost ~]#mv /usr/bin/openssl /usr/bin/openssl.bak

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

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

[root@localhost ~]#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

[root@localhost ~]#ldconfig -v

openssl升级成功

[root@localhost ~]#openssl version -a

Openssh升级:

将原openssh打包备份:

[root@service1 ssh]# tar zcvf /root/ssh.tar.gz /etc/ssh/

-安装相应的依赖包

configure: error: * zlib.h missing - please install first or check config.log如遇该错误,请安装

[root@service1 openssh-7.9p1]# yum -y install zlib

[root@service1 openssh-7.9p1]# rpm -qa | grep zlib

zlib-static-1.2.3-29.el6.x86_64

zlib-devel-1.2.3-29.el6.x86_64

zlib-1.2.3-29.el6.x86_64

configure: error: PAM headers not found

如遇该错误,请安装

[root@service1 openssh-7.9p1]#yum -y install pam-devel

下载openssh 7.9版本源码包:

[root@service1 ~]# tar xf openssh-7.9p1.tar.gz

[root@service1 ~]# cd openssh-7.9p1

[root@service1 ~]#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-ssl-dir=/usr/local/ssl --without-hardening

可选项:--with-pam --with-tcp-wrappers

编译成功:

如果编译成功:

[root@service1 ~]#make && make install

直接用root登录终端(此处根据自身情况考虑)

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

echo 'X11Forwarding yes' >> /etc/ssh/sshd_config

echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config

拷贝启动脚本.

[root@service1 ~]mv /usr/sbin/sshd /usr/sbin/sshd.OFF

[root@service1 ~]ln -s /root/openssh-7.9p1/sshd /usr/sbin/sshd

将原版本ssl卸载:

[root@service2 openssh-7.9p1]# rpm -qa | grep openssl

openssl-1.0.1e-48.el6.x86_64

[root@service2 ~]# rpm -e openssl-1.0.1e-48.el6.x86_64

禁止卸载,显示依赖关系。

记录这两个库文件并将其备份。

libcrypto.so.10

libssl.so.10

cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old

cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old

强制卸载:

[root@service2 ~]#rpm -qa | grep openssl | xargs rpm -e --nodeps

将两个库文件做软链接:

[root@service2 ~]#ln -s /root/openssl-1.0.2h/libssl.so.1.0.0 /usr/lib64/libssl.so.10

[root@service2 ~]# ln -s /root/openssl-1.0.2h/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10

由于之前备份时并没有将原来的文件删除需要手动删除

[root@service2 ~]# /etc/init.d/sshd restart

Stopping sshd: [ OK ]

Starting sshd: [ OK ]

/etc/ssh/sshd_config line 81: Unsupported option GSSAPIAuthentication

/etc/ssh/sshd_config line 83: Unsupported option GSSAPICleanupCredentials

/etc/ssh/sshd_config line 97: Unsupported option UsePAM

[root@service2 ~]# vim /etc/ssh/sshd_config

注释掉 81,83,97 三行

[root@service2 ~]#echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

[root@service2 ~]#echo 'X11Forwarding yes' >> /etc/ssh/sshd_config

[root@service2 ~]#echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config

[root@service2 ~]# /etc/init.d/sshd restart

升级成功。

导致依赖旧库安装的软件无法正常使用待解决。。。

相关文章:

  • linux 无法清空大文件内容,在Linux中5种清空或清空大型文件内容的方法
  • linux 入口流控 虚拟设备,Linux下使用虚拟网卡的ingress流控(入口流控)
  • ucos运行linux文件,关于移植ucosii到windows和linux平台下的思路
  • linux strace 跟踪线程,获取线程id--strace跟踪线程系统调用
  • linux 非root进程,Linux查看非root运行的进程
  • linux下多路径dm不一致,DM多路径存储
  • linux虚拟主机管理平台,8 款顶级的虚拟主机管理系统
  • linux安装无线电软件,Uhd+GNUradio软件无线电平台在Linux系统上安装过程
  • linux主机健康检查,Zabbix监控Tengine 后端服务器健康检查
  • linux邮件查收,Linux mail命令:发送和接收电子邮件
  • 空间坐标转屏幕坐标c语言算法,线性代数——坐标系空间转换
  • openmv4可以c语言开发吗,OpenMV4开发笔记1-感光元件初始化
  • 西安邮电大学c语言期末考试题,西安邮电大学操作系统期末试卷(含答案)
  • android 本地文件读写,Android 读写文件方法汇总
  • android h 游戏下载地址,Android h游戏_如何在Android手机上玩游戏
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 345-反转字符串中的元音字母
  • HTTP 简介
  • OSS Web直传 (文件图片)
  • Yii源码解读-服务定位器(Service Locator)
  • 程序员最讨厌的9句话,你可有补充?
  • 和 || 运算
  • 技术胖1-4季视频复习— (看视频笔记)
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何编写一个可升级的智能合约
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 阿里云服务器购买完整流程
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • (1)(1.13) SiK无线电高级配置(五)
  • (a /b)*c的值
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (一一四)第九章编程练习
  • (转)jdk与jre的区别
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • /bin/rm: 参数列表过长"的解决办法
  • [AIGC] Redis基础命令集详细介绍
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [BUUCTF 2018]Online Tool
  • [BZOJ 3282] Tree 【LCT】
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [CDOJ 1343] 卿学姐失恋了
  • [CERC2017]Cumulative Code
  • [ffmpeg] aac 音频编码
  • [Flex][问题笔记]TextArea滚动条问题
  • [Flutter]WindowsPlatform上运行遇到的问题总结