• centos7升级openssl、openssh常见问题及解决方法


    升级至openssl 1.1.1版本

    升级至openssh 8.0版本

    openssl version -a   当前查看版本

    一.安装telnet (以防升级失败,连不上服务器,建议弄)

    # 查看是否安装telnet服务
    rpm -qa | grep telnet rpm -qa | grep xinetd

    # 若无安装,yum安装

    yum -y install telnet* 

    yum -y install xinetd

    #将服务开机自启(此处根据自身情况考虑)

    systemctl enable xinetd.service

    systemctl enable telnet.socket

    #开启服务

    systemctl start telnet.socket  

    systemctl start xinetd

     vi /etc/securetty

    在最后添加两行

    pts/0

    pts/1

    systemctl restart xinetd

    netstat -plnt |grep 23  # 确认下是否启动成功

    二、升级OpenSSl

    1、查看原版本

    openssl version -a

     2、解压安装

    tar zxvf openssl-1.1.1c.tar.gzcd openssl-1.0.1g

    cd openssl-1.1.1c

    ./config --prefix=/usr/local/openssl  #检查环境

    ./config –t

    make     #编译

    make install      #编译安装

    cd /usr/local

    ldd /usr/local/openssl/bin/openssl    #检查函数库

    echo "/usr/local/openssl/lib" >> /etc/ld.so.conf    #添加所缺函数库

    ldconfig -v        #更新函数库

    openssl/bin/openssl version      #查看新安装的版本

    which openssl           #查看旧版本openssl命令在哪里

    mv /bin/openssl /usr/bin/openssl.old      #将旧版本openssl移除

    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl           #新版本制作软链接

    openssl version         最后查看版本,更新完毕

    在确保Openssl版本为1.0.1后,可以升级Openssh了,升级方法如下。

    三、升级openssh

    1、同样第一步解压,不再赘述

    2、移除旧版本

    mv /etc/ssh /etc/ssh.old
    ### 需要注意,移除之后,不能退出当前终端,若退出,只能通过telnet连了

    3、编译安装

    cd openssh-8.0p1/
    
    ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening

    报错1:

    在安装的过程中如遇到以下错误,请安装:yum -y install openssl-devel

     

    报错2:configure: error: PAM headers not found 

    请安装yum -y install pam-devel

    我升级的时候只遇到这两个错,如遇到别的错,请自行解决。

    然后编译安装

    make && make install 

    4、修改启动脚本

    # 拷贝启动脚本
    cp
    ./contrib/redhat/sshd.init /etc/init.d/sshd

    # 修改启动脚本
    vim /etc/init.d/sshd

    # 按如下图修改,需要注意,此路径是你安装新版本的openssh路径,根据你的实际情况修改
    SSHD=/usr/local/openssh/sbin/sshd

     

    ### 注意根据自身情况修改路径
    /usr/local/openssh/bin/ssh-keygen –A /sbin/restorecon /etc/ssh/ssh_host_key.pub /sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub /sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub /sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub

     

    5、修改sshd配置文件/etc/ssh/sshd_config 

    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config    #直接用root登录终端(此处根据自身情况考虑)
    
    echo 'X11Forwarding yes' >> /etc/ssh/sshd_config   #设置是否允许X11转发
    
    echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config   #是否允许密码验证

     

    6、卸载原有ssh(先安装后卸载,也是怕升级失败,如果有把握,可先卸载)

    for  i   in  $(rpm  -qa  |grep  openssh);do  rpm  -e  $i  --nodeps ;done

    提示警告:

     

    将警告中被修改的文件名字再改回来

    mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config
    
    mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config
    
    mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli

     7、替换相关命令,并重启sshd服务

    cp -arp /usr/local/openssh/bin/* /usr/bin/  替换相关命令
    
    service sshd restart   重启sshd服务

    验证升级、让其他人测试连接后再退出

    ssh -V 和telnet 

     

    8、设置开机自启

    chkconfig --add sshd
    
    chkconfig --level 2345 sshd on
    
    chkconfig --list 

    升级完成后,为了安全起见,建议关闭telnet

    #关闭服务(此处根据自身情况考虑)
    
    systemctl stop telnet.socket  
    
    systemctl stop xinetd
    
    
    #关闭服务开机自启(此处根据自身情况考虑)
    
    systemctl disable xinetd.service
    
    systemctl disable telnet.socket

    如有转载请标明出处 谢谢

  • 相关阅读:
    [ZZ]风险驱动的测试
    移动测试书籍推荐
    4月收藏
    Appium路线图及1.0正式版发布
    匿名吐槽和测试小道消息
    文章收藏
    [ZZ]最小化不可重现的bug
    华人世界——客家足迹行
    移动测试会第七期
    2月收藏
  • 原文地址:https://www.cnblogs.com/v-fan/p/11026895.html
Copyright © 2020-2023  润新知