首页 > 系统相关 >centos7升级openssh至8.8版本

centos7升级openssh至8.8版本

时间:2023-01-13 10:25:04浏览次数:64  
标签:sshd 8.8 zlib openssl centos7 etc ssh openssh

一、升级说明

1、升级OpenSSH后,原有公钥失效,信任关系需要重新配置;

2、升级过程需要停止sshd服务,会导致ssh和sftp无法使用;

3、升级需要关闭防火墙服务;

4、升级需要关闭selinux服务;

5、升级前需要开启telnet,防止升级失败,系统无法登录,对应的防火墙需要开启23端口,安装需要telnet相关包

6、升级过程中需要刷新lib库:ldconfig -v;

7、升级顺序:顺序是zlib库-> openssl -> openssh;

8、升级需要gcc、make、perl、zlib、zlib-devel、pam、pam-devel依赖包;

二、安装包准备

需要准备的安装包(点击可本地下载):

openssh-8.8p1.tar.gz  ,   zlib-1.2.11.tar.gz  ,     openssl-1.0.2o.tar.gz
下载地址:
https://pan.baidu.com/share/init?surl=9Jfg8fdnat8oP6G8nmKiHQ 提取码:6x5r

三、安装并启用Telnet

1、安装telnet服务端

yum -y install xinetd telnet-server
2、默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户(建议采用此方法,保证系统安全)。此步骤可跳过!   允许root用户通过telnet登陆:
编辑/etc/pam.d/login,注释掉下面这行
vi /etc/pam.d/login

#把auth的限制去掉
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

开启root用户远程登陆。此步骤可跳过!

vi /etc/pam.d/remote

auth required pam_securetty.so

3、重启telnet和xinetd服务   【telnet服务依赖于xinetd服务】

systemctl restart telnet.socket
systemctl restart xinetd

PS:如果开启了防火墙,需要将23端口(系统默认23为telnet端口)添加到防火墙允许的端口的列表中。

四、安装升级

1、将上文下载的三个文件上传至服务器,目录可自行设定,方便即可。
zlib-1.2.11.tar.gz
openssl-1.0.2o.tar.gz
openssh-8.8p1.tar.gz
2、关闭系统防火墙
systemctl stop firewalld.service
3、关闭SElinux
#检查是否关闭:
getenforce
#如果未关闭,关闭之
setenforce 0

 上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。

vi /etc/selinux/config
#修改:
  SELINUX=disabled
#保存退出。

4、安装相关依赖包
yum -y install gcc make perl zlib zlib-devel pam pam-devel

安装完毕后执行下面命令,确保所有依赖包正常安装

rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"

5、升级openSSH(注意从这步开始,通过Telnet登录到服务器,务必)

#停止ssh服务
systemctl stop sshd

#备份ssh配置文件
cp -r /etc/ssh /etc/ssh.old
查看系统原有openssh包
rpm -qa | grep openssh
#查询出的结果
openssh-7.4p1-22.el7_9.x86_64
openssh-server-7.4p1-22.el7_9.x86_64
openssh-clients-7.4p1-22.el7_9.x86_64
#根据上面查询出的结果,卸载系统里原有Openssh(一般有三个包,全部卸载)
rpm -e --nodeps openssh-7.4p1-22.el7_9.x86_64
rpm -e --nodeps openssh-server-7.4p1-22.el7_9.x86_64
rpm -e --nodeps openssh-clients-7.4p1-22.el7_9.x86_64
#卸载完成后执行rpm -qa | grep openssh,确保没有回显
rpm -qa | grep openssh
编译安装zlib

解压刚才上传到服务器的zlib-1.2.11.tar.gz,并进行编译安装

tar -xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make install

如果报错类似下图所示,请安装gcc

验证zlib安装是否成功,要包含include、lib、share三个目录。

ll /usr/local/zlib

#新建并编辑配置文件:
vi /etc/ld.so.conf.d/zlib.conf 
#加入如下内容后保存退出
/usr/local/zlib/lib 
#刷新库文件,加载刚才编译安装的zlib生成的库文件
ldconfig -v
编译安装openssl

解压安装openssl包,并进行编译安装

tar -xzvf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
./config shared zlib
make      (时间比较长,切勿打断)
make test    (时间比较长,切勿打断)
make install     (时间比较长,切勿打断)
#重命名现有文件目录
mv /usr/bin/openssl /usr/bin/openssl.bak
#创建ssl相关软连接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
#编辑配置文件
vi /etc/ld.so.conf.d/ssl.conf
#加入如下内容后保存退出
/usr/local/ssl/lib
#刷新库文件,加载刚才编译安装的ssl生成的库文件
ldconfig -v
#查看openssl版本
openssl version -a

 

升级openssh,编译安装
tar -zxvf openssh-8.8p1.tar.gz
cd openssh-8.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd --with-ssl-dir=/usr/local/ssl
make
#修改文件权限
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key
make install
#修改配置文件,允许root直接登录
echo "PasswordAuthentication yes"   >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
#ssh服务必须开机自启动,因此要进行一些设置
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
#重启sshd服务
systemctl restart sshd
#查看sshd服务状态
systemctl status sshd -l
#验证ssh版本
ssh -V

 

 ssh登录测试,可以成功登录。

openssh版本升级完成!
如果之前是rpm包安装的。并且按照以上步骤操作,可以直接以下命令进行回滚.

yum -y install openssh-clients
yum -y install openssh-server
yum -y install openssh

标签:sshd,8.8,zlib,openssl,centos7,etc,ssh,openssh
From: https://www.cnblogs.com/chuanghongmeng/p/17048666.html

相关文章

  • CentOS7 进入修复模式
    有时候配置文件修改错误会导致系统无法登录,可以通过修复模式进行单用户运行模式,进行修复。具体操作如下:1、重启服务器,在选择内核界面使用上下箭头移动2、选择内核并按......
  • centos7.8降级网卡驱动r8168
    概述在外地集中开发临时租赁的window机器,临时组装成centos7.8系统的开发测试机器发现机器很不稳定,时不时宕机根据日志分析是驱动版本太高因此,降级驱动版本保持和固件版本......
  • centos7.9 安装ddddocr验证码识别模块
    正常安装pipinstallddddocr 但是因为会使用国外源,很慢,所以我们使用国内源 首先先安装opencv-python-headless注意要使用小于4.3版本的,否则按照不上,windows忽略这一......
  • Centos7防火墙常用命令
    https://blog.csdn.net/xyy1028/article/details/104787061一.系统防火墙1.启动防火墙systemctlstartfirewalld2.关闭防火墙systemctlstopfirewalld3.查看状态systemc......
  • Centos7最小安装之网络配置
    1.获取权限命令行先进入​​su​​​(不进的话,每次输密码很烦2.查看网卡信息输入命令 ​​ls/etc/sysconfig/network-scripts​​可以看到有线网卡名称为​​ifcfg-enp3s0......
  • Nginx负载均衡(Centos7)
    需要实现的效果:centos服务器上安装nginx(监听80端口),另外安装两个tomcat,分别监听8080和8081当在浏览器中输入 http://192.168.17.129/edu/a.html 的时候,实现负载均衡,平......
  • centos7上如何禁用ipv6
    方法1编辑文件/etc/sysctl.conf,vi/etc/sysctl.conf添加下面的行:net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1如果你想要为特定的网......
  • Centos7.6部署k8s v1.16.4高可用集群(主备模式)
    原文:https://zhuanlan.zhihu.com/p/465647563一、部署环境主机列表:共有7台服务器,3台controlplane,3台work,1台client。k8s版本:二、高可用架构本文采用kub......
  • vagrant-centos7下使用root账号登录,配置ssh和sftp服务
    vagrant配置ssh和sftp服务,使用root登录  在前面的文章提到vagrant+virtualbox的安装,以及安装过程中可能出现的问题如何处理,但是有时候为了使用起来更加方便,我们想通......
  • win7笔记本、台式机装centos7过程记录
    1、国内镜像网站下载centos的iso文件 链接点我;2、找个u盘,格式化为NTFS格式,这样才能传4G以上大小的文件3、iso直接复制到u盘是不行的,必须做启动盘。下载个ultra做,官网地......