CentOS 7.9 离线升级openssh-8.4.p1

本机系统:

1

2

3

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

CentOS Linux release 7.9.2009 (Core)

[root@localhost /]#

 

1.执行以下命令,查看是否缺少gcc.环境安装包!

[root@localhost ~]# rpm -qa|grep gcc

 

2.没有的话把本地的CentOS7镜像解压,解压出来会有一个Packages 这个文件,

CentOS 7.9 离线升级openssh-8.4.p1_第1张图片 

3. 在服务器上新建一个gcc文件夹,从Packages中挑选出需要安装gcc文件,下面8个文件就可以了

CentOS 7.9 离线升级openssh-8.4.p1_第2张图片 

4. 在gcc 文件夹下执行一下命令

        rpm -Uvh *.rpm --nodeps --force

 

5.此时就安装成功,可以用 以下命令检查版本

[root@localhost ~]# gcc -v 

 

6.在升级的过程中还需要用到一些openssl的rpm包,同以上步骤;在CentOS7镜像解压文件里面搜索openssl ,找到包之后上传并解压。CentOS 7.9 离线升级openssh-8.4.p1_第3张图片

 

 

 7.升级openSSh 到 OpenSSH_8.4p1需要下载以下两个文件,下载地址如下:

1

2

https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz

http://www.zlib.net/zlib-1.2.11.tar.gz

 大家也可以去选自己需要的版本!这是官方连接下载地址

 Index of /pub/OpenBSD/OpenSSH/portable/

 Index of /fossils (zlib.net)

 

8..解压升级包 

1

2

tar -zxvf zlib-1.2.11.tar.gz -C /usr/local

tar -zxvf openssh-8.4p1.tar.gz -C /usr/local

 

9. 编译安装zlib

1

2

3

cd /usr/local/zlib-1.2.11

./configure --prefix=/usr/local/zlib

make && make install

 

10.编译安装 openssh 

1

2

3

cd /usr/loca/openssh-8.4p1

./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl

make && make install

 

11..sshd_config文件修改 

1

2

3

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config

echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config

echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

 

12.. 备份原有文件,并将新的配置复制到指定目录 

1

2

3

4

5

6

7

8

9

10

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config

mv /usr/sbin/sshd /usr/sbin/sshd.bak

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

mv /usr/bin/ssh /usr/bin/ssh.bak

cp /usr/local/openssh/bin/ssh /usr/bin/ssh

mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak

cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

 

13.完成以上步骤之后会出现 /usr/lib/systemd/system/sshd.service 与systemd不兼容;解决如下:

cd /usr/local/openssh-8.4p1
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on                                                                                                                             mkdir /etc/ssh_bak/
mv /usr/lib/systemd/system/sshd.service /etc/ssh_bak/ 

 

 14.启动SSH 

1

2

3

systemctl daemon-reload

systemctl restart sshd

systemctl status sshd

 

15.使用SSH远程连接登录刚刚升级成功的openssh虚拟机的时候你会发现无法连接,需要执行以下命令。

 

  ssh-keygen -R + 刚刚升级成功的Openssh的 IP 地址就可以连接了

你可能感兴趣的:(linux,centos,运维)