美文网首页
centos7升级ssh离线升级到OpenSSH_8.3p1

centos7升级ssh离线升级到OpenSSH_8.3p1

作者: Firetheworld | 来源:发表于2020-08-25 17:02 被阅读0次

环境:Centos7.8
SSH版本:OpenSSH_7.4p1

如果ssh版本过低,先进行yum update将ssh升级到OpenSSH_7.4p1

为了意外中断,造成无法远程服务器,在生产环境中,确保先安装好了telnetserver以及xinetd,在端口openssh后,还能进行远程(略)。

目前环境仅直接进行openssh的升级。

步骤:
一、下载好openssh以及openssl的包
二、安装依赖以及编辑环境
三、备份openssl并升级openssl
四、升级openssh
五、配置修改。


一 下载openssh以及openssl包

最新版本openssh链接:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz
openssl下载链接:
https://ftp.openssl.org/source/openssl-1.1.1g.tar.gz

二 安装依赖以及编译环境

 yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel # 安装依赖以及gcc编译环境

yum install  -y pam* zlib*  # 安装pam以及zlib

三 备份openssl并升级openssl

关闭selinux:

setenforce 0 \
    && sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config \
    && getenforce

查看openssl版本:

# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

备份原openssl文件路径,:

# mv /usr/bin/openssl /usr/bin/openssl_bak
# mv /usr/include/openssl /usr/include/openssl_bak

解压openssl-1.1.1g.tar.gz,并进入openssl路径。进行openssl的编译安装:

#tar -xf openssl-1.1.1g.tar.gz && cd openssl-1.1.1g
#./config shared && make && make install  # 
# echo $?  #  确认上一条命令成功执行,0为成功。
0

升级完成openssl后,升级后在的openssl的路径安装在/usr/local下。
对升级后的openssl重做软链接,,并加载新配置:

# ln -s /usr/local/bin/openssl  /usr/bin/openssl 
# ln -s /usr/local/include/openssl /usr/include/openssl  
# echo "/usr/local/lib64" >> /etc/ld.so.conf && /sbin/ldconfig 

# openssl version # 确认openss版本
OpenSSL 1.1.1g  21 Apr 2020

四 升级openssh

下载openssh-8.3p1.tar.gz到指定路径中,并解压,进入到openssh的路径中:

# tar -xf openssh-8.3p1.tar.gz 
# cd openssh-8.3p1

迁移原shs的配置文件和目录,在进行安装

# mv /etc/ssh{,_bak}
# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/include  --with-ssl-dir=/usr/local/lib64  --with-zlib   --with-md5-passwords   --with-pam  && make && make install 
#  echo $?  # 验证上一条命令是否成功执行
0

五 配置修改。

# 修改配置项让root能远程登录
# sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
sed -i "s/#UseDNS no/UseDNS no/g" /etc/ssh/sshd_config

#  在openssh中复制文件到目标位置中,并设置sshd开机自启动。
cp -a contrib/redhat/sshd.init /etc/init.d/sshd && cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam && chmod +x /etc/init.d/sshd && chkconfig --add sshd && systemctl enable sshd  

# 移走原来的sshd文件,否则影响我们重启sshd服务
mv  /usr/lib/systemd/system/sshd.service  /tmp/ && chkconfig sshd on 

验证openssh:

# systemctl restart sshd # 重启sshd
# ssh -V #  查看openssh版本
OpenSSH_8.3p1, OpenSSL 1.1.1g  21 Apr 2020
# netstat -lntp|grep 22 # 查看端口以及服务状态
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      9491/sshd: /usr/sbi

下面附离线安装的脚本:

#!/bin/sh
#关闭Selinux/firewalld/iptables
setenforce 0 \
    && sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config \
    && getenforce
cd gcc+ && pwd  
chmod +x install.sh && source install.sh && cd ..
cd pam-zlib && chmod +x install.sh && source install.sh && cd .. 
cd perl5 && chmod +x install.sh && source install.sh && cd ..
mv /usr/bin/openssl /usr/bin/openssl_bak && mv /usr/include/openssl /usr/include/openssl_bak
cd openssl-1.1.1g && ./config shared && make && make install && echo $?
ln -s /usr/local/bin/openssl  /usr/bin/openssl && ln -s /usr/local/include/openssl /usr/include/openssl && echo "/usr/local/lib64" >> /etc/ld.so.conf && /sbin/ldconfig &&  cd ..
cd openssh-8.3p1 && rm -rf /etc/ssh/* && ./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/include \
 --with-ssl-dir=/usr/local/lib64  --with-zlib   --with-md5-passwords   --with-pam  && make && make install && echo $?
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
sed -i "s/#UseDNS no/UseDNS no/g" /etc/ssh/sshd_config
cp -a contrib/redhat/sshd.init /etc/init.d/sshd && cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam && chmod +x /etc/init.d/sshd && chkconfig --add sshd && systemctl enable sshd  && mv  /usr/lib/systemd/system/sshd.service  /tmp/ && chkconfig sshd on 

相关文章

网友评论

      本文标题:centos7升级ssh离线升级到OpenSSH_8.3p1

      本文链接:https://www.haomeiwen.com/subject/sejzjktx.html