一个专业运维
技术分享网站!

Centos7升级OpenSSH 8.3版本

#软件下载
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-8.3.tar.gz
wget http://www.zlib.net/zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
1.安装telnet服务
yum install telnet-server* -y

#以下内容为新增完善的,将xinetd里的telnet服务启用
mv /etc/securetty /etc/securetty.old    #允许root用户通过telnet登录
cat > /etc/xinetd.d/telnet <<EOF
service telnet
	{
		flags 				= REUSE
		socket_type 		= stream
		wait				= no 
		user 				= root
		server 				= /usr/sbin/in.telnetd
		log_on_failure 		+= USERID
		disable 			= no   #启用telnet
}
<<EOF

service xinetd start                    #启动telnet服务
chkconfig xinetd on                     #使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系

###一定要测试telnet功能
2.编译安装zlib-1.2.11
#安装依赖包
yum install gcc gcc-c++ pam-devel zlib-devel -y

#编译安装zlib
tar  zxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr
make
rpm -e --nodeps zlib
make install 
echo '/usr/lib' >> /etc/ld.so.conf
ldconfig
#执行以下yum list没问题就代表安装完成
3.编译安装openssl
#备份openssl文件
cp -r /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old   
cp -r /usr/lib64/openssl /usr/lib64/openssl.old
cp -r /usr/bin/openssl /usr/bin/openssl.old
cp -r /usr/include/openssl /usr/include/openssl.old
#注意这两个是库文件,也需要先备份一下
cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old  
cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old

#卸载openssl
rpm -qa |grep openssl|xargs -i rpm -e --nodeps {}

#安装openssl
tar zxf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr --openssldir=/etc/ssl --shared zlib  #shared 作用是生成动态连接库
make && make install
openssl version
3.编译安装openssh
#备份openssh文件
mv /etc/ssh /etc/ssh.old

#卸载openssh
#rpm -qa|grep openssh
#rpm -e --nodeps openssh-5.3p1-94.el6.x86_64  
#rpm -e --nodeps openssh-server-5.3p1-94.el6.x86_64
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}

#安装openssh
tar zxf openssh-8.3p1.tar.gz
cd openssh-8.3p1
./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords  --with-pam  --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
make
make install
ssh -V
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig  --add  sshd
chkconfig  sshd  on
chkconfig  --list  sshd
systemctl enable sshd
systemctl restart sshd
ssh -V

#版本回退,如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。
rm -rf /etc/ssh
mv /etc/ssh.old /etc/ssh

有时候我们还会遇到openssh已经升过级的情况,而且安装方式还是编译安装的,很明显上面的方式就不合适了

所以我们的的rpm -qa|grep ssh卸载方式那里需要换一下
find / -name ssh  
一般会返回旧版本的安装路径,里面包含旧版本号的就是旧openssh的安装路径进入该路径执行cp -r /etc/ssh /etc/ssh.old 先做一个

历史上的今天
八月
12
    哇哦~~~,历史上的今天没发表过文章哦
赞(8) 打赏
未经允许不得转载:小柳实验室 » Centos7升级OpenSSH 8.3版本

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏