zoukankan      html  css  js  c++  java
  • CentOS6.5下面OpenSSH低版本升级至7.3

    升级前版本:
    openssl-1.0.1e-48.el6_8.1.x86_64
    openssh-5.3p1-118.1.el6_8.x86_64
    
    升级后版本:
    OpenSSL 1.0.2j
    OpenSSH 7.3p1
    

    Step-1:安装相关依赖包

    yum install zlib*
    yum install gcc
    yum install make
    

    Step-2:如果是最小化安装后升级,得更新一些基础东西,不然升级会遇到问题

    yum -y install wget openssh-clients openssl-devel
    

    Step-3:官网下载好这两个包放在/tmp目录下

    wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.3p1.tar.gz
    wget https://openssl.org/source/openssl-1.0.2j.tar.gz
    

    Step-4:为确保升级过程没有意外导致ssh会话断开,首先打开telnet服务(使用telnet服务需关闭防火墙或者打开默认端口23)

    yum install telnet-server xinetd
    sed -i '/disable/s/yes/no/g' /etc/xinetd.d/telnet
    service xinetd restart
    

    Step-5:此时换telnet登陆服务器执行后续命令

    #备份旧的ssh配置和用户家目录的相关ssh文件
    cp -raf /etc/ssh /etc/ssh.old
    cp -raf /etc/init.d/sshd /etc/init.d/sshd.old
    cp -raf /root/.ssh/ /root/.ssh.old
    r_list=`cat /etc/passwd | awk -F ":" '{if($3>=500) print $6}'`
    for i in $r_list;do
        cp -raf $i/.ssh/ $i/.ssh.old
    done
    

    Step-6:删掉旧的openssl和openssh

    rpm -qa  |  grep  openssh  |  xargs rpm -e --nodeps
    rpm -qa | grep openssl | xargs rpm -e --nodeps
    

    Step-7:安装OpenSSL

    tar zxf openssl-1.0.2j.tar.gz
    cd openssl-1.0.2j
    ./config --prefix=/usr 
             --openssldir=/etc/ssl 
             --libdir=lib 
             --shared 
             zlib-dynamic 
    make depend && make
    make MANDIR=/usr/share/man MANSUFFIX=ssl install &&
    install -dv -m755 /usr/share/doc/openssl-1.0.2j  &&
    cp -vfr doc/*   /usr/share/doc/openssl-1.0.2j
    ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
    ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10
    ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10
    ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.10
    
    openssl version
    #安装完成,应当输出OpenSSL 1.0.2j  26 Sep 2016
    

    Step-8:安装OpenSSH

    cd /tmp/
    tar zxf openssh-7.3p1.tar.gz
    cd openssh-7.3p1
    
    #隐藏版本号配置
    sed -i '/SSH_VERSION/s/OpenSSH_7.3/Goodbye/g' version.h
    sed -i '/SSH_PORTABLE/s/p1/./g' version.h
    
    echo "/usr/include/openssl/">>/etc/ld.so.conf
    ldconfig
    ./configure --prefix=/usr                  
                --sysconfdir=/etc/ssh          
                --with-md5-passwords           
                --with-ssl-dir=/etc/ssl/ 
                --with-privsep-path=/var/empty/sshd
    make
    make install &&
    install -v -m755    contrib/ssh-copy-id /usr/bin     &&
    install -v -m644    contrib/ssh-copy-id.1            
                        /usr/share/man/man1              &&
    install -v -m755 -d /usr/share/doc/openssh-7.3p1     &&
    install -v -m644    INSTALL LICENCE OVERVIEW README* 
                        /usr/share/doc/openssh-7.3p1
                        
    cp -raf /etc/init.d/sshd.old /etc/init.d/sshd
    mv /etc/ssh/sshd_config /etc/ssh/sshd_config.new
    cp -raf /etc/ssh.old/sshd_config /etc/ssh/sshd_config
    sed -i 's/GSSAPI/#GSSAPI/g' /etc/ssh/sshd_config
    sed -i 's/UsePAM/#UsePAM/g' /etc/ssh/sshd_config
    service sshd restart
    

    Step-9:将sshd设置为开机自启

    chkconfig --list sshd
    #如果没有的话执行:chkconfig --add sshd
    chkconfig sshd on
    

    Step-10:测试SSH是否可以正常使用,以10.10.13.35为例(ssh 10.10.13.35),如果出现密码不正确的提示,则按照如下说明操作,

    1. vi /etc/ssh/sshd_config
    2. “PermitRootLogin yes” 启用

    Step-11:测试sftp是否可以正常使用,如果出现“ssh可以连接但sftp不可以连接”问题时,尝试用如下解决方案进行处理

    1. vim /etc/ssh/sshd_config
    2. 如下修改配置项:
    #override default of no subsystems
    #Subsystem sftp /usr/local/openssh/libexec/sftp-server
    Subsystem sftp internal-sftp
    
    1. 重启sshd服务:
    service sshd restart
  • 相关阅读:
    js语言结构小记(一)
    jquery插件:fancybox
    转载(深刻地了解到了js数组是引用类型)
    sqlite 页面结构分析
    有限状态机(FSM)的设计与实现(二)
    sqlite源码中的一个潜在Bug
    一种整数数据压缩存储的算法实现
    构建自己的内存池(一)
    sqlite Btree结构分析
    构建自己的内存池(二)
  • 原文地址:https://www.cnblogs.com/xingyunfashi/p/10950934.html
Copyright © 2011-2022 走看看