zoukankan      html  css  js  c++  java
  • Centos5.2升级openssh7.4p1

    最近客户使用第三方安全漏扫工具查出服务器系统有许多关于openssh的漏洞,系统是centos5.2的,openssh升级至7.4版本

    OpenSSH 是一组安全远程的连接工具,主要包括了几个部份:ssh、sshd、scp、sftp、ssh-keygen、ssh-agent、ssh-add。OpenSSH 安装配置比较复杂,难点在配置,特别是在 VPS 中,配置不当就完全无法链接 VPS 了。

    一、关于 OpenSSH

    OpenSSH 是一组用于安全地访问远程计算机的连接工具。它可以作为 rlogin、 rsh rcp 以及 telnet 的直接替代品使用。更进一步, 其他任何 TCP/IP 连接都可以通过 SSH 安全地进行隧道/转发。 OpenSSH 对所有的传输进行加密, 从而有效地阻止了窃听、 连接劫持,以及其他网络级的攻击。

    ssh(SSH 客户端,用于登录建立连接,是 rlogin 与 Telnet的安全替代方案)
    sshd (SSH 服务端,典型的独立守护进程)
    scp、sftp (文件安全传输工具,rcp、ftp 安全的替代方案)
    ssh-keygen (用于产生 RSA 或 DSA 密钥)
    ssh-agent、ssh-add(帮助用户不需要每次都要输入金钥密码的工具)

    二、编译前的准备工作

    2.1  检查telnet是否安装,没有则安装telnet(因为在升级openssh的过程中可能会出现远程SSH登录失败,所以我们必须下载telnet,防止断开连接后,远程不到服务器上)

            rpm -qa | grep telnet

        2.1.1  如果没有telnet的话使用yum安装telnet和telnet-server

            yum install telnet  telnet-server

        2.1.2  装好telnet服务之后,默认是不开启服务的,下面我们需要修改文件来开启服务。

             

                 root@localhost ~]# vi /etc/xinetd.d/telnet
                修改 disable = yes 为 disable = no 
                service telnet
                         {
                               flags           = REUSE
                               socket_type     = stream
                               wait            = no
                               user            = root
                               server          = /usr/sbin/in.telnetd
                               log_on_failure  += USERID
                               disable         = no
                         }
          2.1.3   激活xinetd服务
                 service xinetd restart
          2.1.4   远程使用telnet登入服务器默认无法使用root账户登入的,如果必须使用root,可以如下操作:
                  将服务端/etc/securetty文件备份重命名
                  mv /etc/securetty /etc/securetty.bak
          2.1.5.    下载好openssl和openssh程序包以及程序编译时相关的包
            openssl包:     wget    http://www.cecm.sfu.ca/sage/spkg/upstream/openssl/openssl-1.0.2h.tar.gz
          2.1.6   yum安装相关程序编译时必须用的包
                    yum install gcc zlib zlib-devel pam pam-devel openssl-devel  tcp_wrappers-devel  

    三、开始安装openssl和openssh

    3.1       解压编译openssl-1.0.2h.tar.gz

                tar -zxvf   openssl-1.0.2h.tar.gz

                cd   openssl-1.0.2h

                ./config shared zlib-dynamic

                 make && make install

         3.1.1   建立libssl库文件的软连接(该库文件相当重要,不要随便删除)

                    通过之前的操作会得到两个相关的libssl库文件,将这两个库文件拷贝至/usr/lib64/下

                    cp  libssl.so.1.0.0   /usr/lib64/

                    cp  libcrypto.so.1.0.0   /usr/lib64/

                    cd /usr/lib64/

                    ln -s libssl.so.1.0.0          libssl.so.10

                    ln -s libcrypto.so.1.0.0    libcrypto.so.10

    3.2      解压编译openssh-7.4p1

               3.2.1    卸载之前系统的openssh

                            rpm -e --nodeps `rpm -qa | grep openssh`

               3.2.2    解压编译安装openssh7.4p1

                           tar -zxvf openssh-7.4p1.tar.gz

                           cd openssh-7.4p1

                            ./configure --prefix=/usr --sysconfdir=/etc/ssh  --with-zlib --with-md5-passwords

                            make && make install

    3.3       配置并启动sshd服务

                cd ..

                cp openssh-7.4p1/contrib/redhat/sshd.init /etc/init.d/sshd

                chkconfig --add sshd

                3.3.1   修改配置文件

                           vim /etc/ssh/sshd_config

                            找到#PermitRootLogin prohibit-password项把prohibit-password改为yes

                            PermitRootLogin yes

               3.3.2    重启服务(该操作肯定会断掉当前会话,所以我们必须再多开一个会话或者重启操作后使用telnet登入系统上再重启ssh服务)

                           service sshd restart

    3.4      查看更新openssh版本是否成功

               ssh -V

               OpenSSH_7.4p1, OpenSSL 1.0.2h 3 May 2016

     

    参考大佬文章: https://my.oschina.net/farces/blog/1587543

                            https://www.bbsmax.com/A/xl569MBrJr/

                            https://blog.csdn.net/qq_38693296/article/details/85614573

                            https://blog.csdn.net/bytxl/article/details/46639073

                            https://my.oschina.net/makouz/blog/731970

  • 相关阅读:
    令人恼怒!mount windows共享目录出错
    今天修改PCB板图
    在深圳出差
    触摸屏技术原理介绍
    getrlimit和setrlimit函数
    OpenCV下的HelloWorld
    两本OpenCV的书到了
    GDB用法小结
    没搞懂自适应二进制阈值化的参数
    【JavaScript】73 逆序的三位数 (10分)
  • 原文地址:https://www.cnblogs.com/love-vce/p/12619820.html
Copyright © 2011-2022 走看看