0


Linux Centos7内网服务器离线升级openssh9.3

内网服务器需要升级openssh,被折磨了一整天,觉得有必要记录一下,不然对不起这差点崩溃的一天,主要的几个难点就是不能yum一键安装,需要自己找到对应的依赖版本然后通过堡垒机上传到内网,还有就是服务器很干净,什么都没有,需要离线安装的包太多,又不知道依赖关系,另外个问题就是这次升级了10台服务器,每台服务器的已有的包都不同,有些缺的多有些缺的少,中间还把服务器搞挂一次,因为卸载了ssh导致无法登陆,所以卸载的时候请慎重,最好保证已经安装了telnet和vsftp可以进行登陆和文件上传

1.安装包准备

    xinetd-2.3.15-14.el7.x86_64.rpm

    telnet-0.17-65.el7_8.x86_64.rpm

    telnet-server-0.17-65.el7_8.x86_64.rpm

    gcc-4.8.5-44.el7.x86_64.rpm

    gcc-c++-4.8.5-44.el7.x86_64.rpm

    openssh-9.3p1.tar.gz

    openssl-devel-1.0.2k-25.el7_9.x86_64.rpm

    pam-devel-1.1.8-23.el7.x86_64.rpm

    zlib-devel-1.2.7-20.el7_9.x86_64.rpm

    zlib-1.2.7-20.el7_9.x86_64.rpm

    kernel-headers-3.10.0-1160.el7.x86_64.rpm

    以上安装包链接:https://pkgs.org/

2.安装telnet,避免openssh安装过程中断时服务器无法登陆

    1.rpm安装                    
rpm -ivh xinetd-2.3.15-14.el7.x86_64.rpm
rpm -ivh telnet-0.17-65.el7_8.x86_64.rpm
rpm -ivh telnet-server-0.17-65.el7_8.x86_64.rpm
    2.启动telnet
service xinetd restart

systemctl restart telnet.socket

3.安装openssh

    1.将openssh9.3安装包解压
tar -zxvf openssh-9.3p1.tar.gz
cd openssh-9.3p1
     2.备份配置文件
cp /etc/ssh/sshd_config sshd_config.backup
cp /etc/pam.d/sshd sshd.backup
    3.编译配置
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam
    注意:这一步不能出现错误,如果出现错误一般是缺少依赖,缺少哪个就安装上面准备的包即可,基本上根据名字就能看出是哪个包,稍有不同的下面已经列出来了

    这个问题是 c语言编译环境不对,这个是最麻烦的问题,因为找不到缺少了哪些包,查看config.log会提示缺少某个文件,一般是缺少gcc,gcc-c++,kernel-headers等,把这几个安装上再试试
rpm -ivh  kernel-headers-3.10.0-1160.el7.x86_64.rpm --nodeps --force
rpm -ivh  gcc-c++-4.8.5-44.el7.x86_64.rpm --nodeps --force
rpm -ivh  gcc-4.8.5-44.el7.x86_64.rpm --nodeps --force

     这个是缺少openssl,安装openssl即可
rpm -ivh  openssl-devel-1.0.2k-25.el7_9.x86_64.rpm --nodeps --force
    编译结果如下图即为成功

     4.卸载旧版本,务必上一步完成之后再进行这一步,因为旧版本卸载之后将无法使用ssh登陆服务器和上传文件
rpm -e --nodeps `rpm -qa | grep openssh`
     5.编译安装
make && make install
    如下图即为成功 

    6.调整文件权限
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
    7.复制配置文件
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
    8.还原之前备份的配置文件
cp sshd_config.backup /etc/ssh/sshd_config
cp sshd.backup /etc/pam.d/sshd 
     9.设置root用户可以远程登陆
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
    10.设置开机自动启动
chkconfig --add sshd
chkconfig sshd on
    11.重启ssh
systemctl restart sshd
    12.验证
ssh -V
标签: 后端 linux centos

本文转载自: https://blog.csdn.net/weixin_45087884/article/details/130970145
版权归原作者 weixin_45087884 所有, 如有侵权,请联系我们删除。

“Linux Centos7内网服务器离线升级openssh9.3”的评论:

还没有评论