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
        openssh包:    wget   https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.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

posted on 2020-04-02 14:49  枫&vce  阅读(631)  评论(0)    收藏  举报

导航