本文介绍: 离线更新openssh步骤文章目录前言一、openssh是什么?二、更新步骤1.查看相关组件版本是否存在代码包已全部打包)2.进行openssh离线更新总结(安装时可能出现的问题等) 前言 对于可能很多人在离线更新openssh时都没找到一篇能解决实际问题文章,那么今天它来了,请往下看。提示:在进行生产环境操作时,需谨慎在尽可能一样的虚拟环境进行验证操作。(OS:如果不放心可以双保险,开启Telnet服务,具体步骤需自行搜索) 一、openssh是什么?   Op

离线更新openssh步骤

文章目录

对于可能很多人在离线更新openssh时都没找到一篇能解决实际问题文章,那么今天它来了,请往下看。
提示:在进行生产环境操作时,需谨慎在尽可能一样的虚拟环境进行验证操作。(OS:如果不放心可以双保险,开启Telnet服务,具体步骤需自行搜索

一、openssh是什么?

  OpenSSH是 Secure SHell(安全外壳协议,简称SSH)协议免费开源实现。SSH协议可以用来进行远程控制, 或在计算机之间传送文件。而实现功能的传统方式,如telnet(终端仿真协议)、 rcp ftprloginrsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序客户端工具用来加密远程控制文件传输过程中的数据,并由此来代替原来的类似服务

  OpenSSH 是一组用于安全访问远程计算机连接工具。 它可以作为 rloginrsh rcp 以及 telnet 的直接替代品使用。 更进一步, 其他任何 TCP/IP 连接可以通过 SSH 安全地进行隧道/转发。 OpenSSH 对所有的传输进行加密, 从而有效地阻止了窃听、 连接劫持。

  OpenSSH这一术语指系统中使用的Secure Shell软件软件实施。用于远程系统安全运行shell。如果您在可提供ssh服务远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令ssh命令也可用于远程系统中运行命令。

二、更新步骤 (以下步骤都在root权限下进行,如果权限不足需在命令前加sudo

测试环境:我本机使用centos6.2以及7.5都测试过,因为生产环境6跟7都有。

(一) 查看相关组件版本是否存在(代码包已全部打包

1.先查看系统版本

cat /etc/redhat-release

在这里插入图片描述

2.再根据系统版本选择对应组件进行上传。(建议所有上传文件放到/tmp下面)

升级OpenSSH的过程需要依赖ZLIB、Perl、OpenSSL,升级OpenSSL可能会报错,可能还需要依赖PAM。所以先要离线下载这些依赖对应的包:zlib-1.2.13.tar.gzperl-5.20.0.tar.gz,Linux-PAM-1.3.1.tar.xzopenssl-1.1.1n.tar.gzopenssh-9.3p1.tar.gz。(安装顺序

3.查看gcc是否存在`gccv`

在这里插入图片描述

如果gcc不存在就上传对应版本gcc相关rpm
上传完之后直接全部安装包执行

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

--force 选项表示强制执行操作,即使它可能会导致一些问题或不安全。这意味着软件包管理工具忽略任何警告错误,并尝试继续执行操作。
--nodeps 选项表示跳过依赖关系检查,即不检查安装更新删除软件是否依赖于其他软件包或库。这可以用于强制执行操作,即使满足依赖关系可能会引起冲突问题

4. 安装/升级 zlib

which zlib		//查看是否存在zlib路径,不存在则安装zlib
tar -zxvf zlib-1.2.13.tar.gz 
cd zlib-1.2.13
./configure --prefix=/usr/zlib
make && make install
  1. 安装/升级 Perl
perl -v 	//查看perl版本 低于5.10就不支持高版本的openssh更新
tar -zxf perl-5.20.0.tar.gz 
cd perl-5.20.0
./Configure -de
 make && make install
 perl -v

在这里插入图片描述

在这里插入图片描述

6. 安装pamdevel

tar -xf Linux-PAM-1.3.1.tar.xz 
cd Linux-PAM-1.3.1
./configure 
make && make install
  1. 安装/升级 openssl
ssh -V					//查看openssl的版本 最低不能低于1.1.1
//查看相关文件是否备份
ls -l /usr/bin/openssl*
ls -ld /usr/include*
cp /usr/bin/openssl /usr/bin/openssl.old
cp -r /usr/include /usr/includeold
//编译安装
cd /tmp
tar -zxvf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n
./config --prefix=/usr --shared
make
make install
openssl version -a

在这里插入图片描述

(二) 进行openssh离线更新

1.先进行相关文件备份

cat /etc/redhat-release		//查看系统版本
ls -l /etc/pam.d/sshd*
ls -ld /etc/ssh*
cp /etc/pam.d/sshd /etc/pam.d/sshd20230612
cp -r /etc/ssh /etc/ssh20230612

2.开始进行解压缩然后进行相关操作

cd /tmp
tar -xzvf openssh-9.3p1.tar.gz
cd openssh-9.3p1
3.区分系统

centos6的系统


service sshd stop
rm -rf /etc/ssh		

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-ssl-dir=/usr/ssl
make && make install
cd contrib/redhat
cp sshd.init /etc/init.d/sshd
chkconfig sshd on
chkconfig sshd --list

cp  /etc/ssh20230612/sshd_config /etc/ssh/sshd_config
cp /etc/pam.d/sshd20230612 /etc/pam.d/sshd
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
service sshd start

centos7的系统

systemctl stop sshd.service
rm -rf /etc/ssh

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-ssl-dir=/usr/ssl
make && make install
cd contrib/redhat
cp sshd.init /etc/init.d/sshd
systemctl enable sshd
chkconfig sshd --list
cp  /etc/ssh20230612/sshd_config /etc/ssh/sshd_config
cp /etc/pam.d/sshd20230612 /etc/pam.d/sshd
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
systemctl start sshd.service

4.查看是否存在openssh的rpm包,如果不存在就不需要进行下面的步骤

rpm -qa  | grep openssh 	//查看是否存在openssh的rpm
cd /tmp/openssh-9.3p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords  --with-ssl-dir=/usr/ssl
make
rpm -e `rpm -qa | grep openssh` --nodeps		//卸载rpmmake install
cd contrib/redhat
cp sshd.init /etc/init.d/sshd

centos6系统

chkconfig sshd on
chkconfig sshd --list

cp  /etc/ssh20230612/sshd_config /etc/ssh/sshd_config
cp /etc/pam.d/sshd20230612 /etc/pam.d/sshd
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
service sshd start

centos7系统

systemctl enable sshd
chkconfig sshd --list

cp  /etc/ssh20230612/sshd_config /etc/ssh/sshd_config
cp /etc/pam.d/sshd20230612 /etc/pam.d/sshd
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
systemctl start sshd.service

centos6中遇到的问题如下
找不到zlib位置,在编译的时候加上刚刚编译安装的zlib的路径然后下面的步骤是一样的,到区分系统继续执行编译之后的命令。
在这里插入图片描述
cd /tmp/openssh-9.3p1
./configure –prefix=/usr —sysconfdir=/etc/ssh –with-pam –with-zlib=/usr/zlib –with-md5-passwords –with-ssl-dir=/usr/ssl //指定zlib之前安装的路径

如下报错是因为pam未安装成功,重新执行安装 pam-devel
在这里插入图片描述

篇文章是我踩过好几个坑,深刻的教训换来的经验,如果对您有帮助麻烦点赞、收藏加关注,以后也可以互相交流一下学习经验捏。

原文地址:https://blog.csdn.net/qq_43913213/article/details/131510476

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_19313.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注