博主的电脑壁纸也给大家分享哈

OpenssH需升级之路(9.6.p1)_bc

废话不多说,上文啦... ...


OpenssH需升级之路(9.6.p1)

首先查看自己的版本,用以下命令查看

[root@localhost ~]# ssh -V

OpenSSH_8.7p1, OpenSSL 3.0.7 1 Nov 2022

[root@localhost ~]# openssl version

OpenSSL 3.0.7 1 Nov 2022 (Library: OpenSSL 3.0.7 1 Nov 2022)


资源准备:

OpenssL 软件包:openssl-3.2.0.tar.gz

zlib软件包:zlib-1.3.1tar.gz

OpenssH软件包:openssh-9.6p1.tar.gz

操作系统:CentOS7/CentOS8/CentOS Stream9

本次博主值升级Openssh ,不同用户可根据自己的OpenssL版本,酌情升级


1.把资源包放在/opt下面

#软件包准备
cd /opt   #解压目录

#解压软件包
tar -zxvf zlib-1.3.tar.gz
tar -zxvf openssl-3.2.0.tar.gz
tar -zxvf openssh-9.6p1.tar.gz

#备份
mv /etc/ssh /etc/ssh.bak
cp /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam.bak
cp /etc/init.d/sshd /etc/init.d/sshd.bak
cp /usr/bin/openssl /usr/bin/openssl.bak

##卸载原有的openssh
rpm -e --nodeps `rpm -qa | grep openssh`

###安装相关依赖包
yum install vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers;

2.Zlib安装

#进入zlib解压目录
cd /opt/zlib-1.3.1

#编译安装
./configure --prefix=/usr/local/zlib

make && make test && make install

#
ll /usr/local/zlib
ldconfig -v
/sbin/ldconfig

3. OpenSSL安装

#进入openssl解压目录
cd /opt/openssl-3.2.0

#编译安装
./config shared zlib --prefix=/usr/local/ssl

make clean && make -j 4 && make install 

#更新函数库
echo "/usr/lcoal/ssl/lib" >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

#检查是否升级成功
openssl version -a

4.OpenSSH安装

#进入openssh解压目录
cd /opt/openssh-9.6p1

#编译安装
./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib 

make -j 4 && make install 

#查看目录版本
/usr/local/ssh/bin/ssh -V

#复制新ssh文件
cp -rf /opt/openssh-9.6p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /opt/openssh-9.6p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
cp -rf /opt/openssh-9.6p1/sshd_config /etc/ssh/sshd_config

cp -rf /usr/local/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/ssh/bin/ssh-keygen /usr/bin/ssh-keygen

#开启sshd
chmod u+x /etc/init.d/sshd;
chkconfig --add sshd      ##自启动
chkconfig --list |grep sshd
chkconfig sshd on

#允许root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'Subsystem sftp /usr/local/ssh/libexec/sftp-server' >> /etc/ssh/sshd_config

#重启sshd服务
/etc/init.d/sshd restart
/etc/init.d/sshd status

#查看升级后ssh版本
ssh -V

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