博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
脚本升级openssh
阅读量:4328 次
发布时间:2019-06-06

本文共 2350 字,大约阅读时间需要 7 分钟。

一、问题描述(默认Linux安装的SSHD服务存在一些漏洞,特此升级)

在曾经手动升级sshd服务后发现了三个后遗症:

  1. selinux开启的状态下,重启机器sshd不启动(原因:库文件“libcrypto.so.1.0.0”的selinux标记不正确,导致sshd无法调用访问该文件,使用setroubleshoot工具找到原因)

  2. hosts.allow,hosts.deny对sshd不起作用(原因:编译时未加上--with-tcp-wrappers)

  3. sftp无法使用(原因:源码安装后配置文件未找到sftp-server工具)

  4.  为了方便以后安装,再加上修补以上遗留问题,特写成脚本。(脚本测试在CentOS6.5、RHEL6.4、CentOS5.10测试通过)

注意事项:为了降低风险,运行脚本之前,需以telnet登陆系统取得root权限(telnet默认不允许root登陆,可以设置允许root或者以普通用户切换)

二、安装

1.  工具包:openssh-6.6p1.tar.gz     openssl-1.0.1g.tar.gz

     

 

2. 安装时将脚本和两个包放在相同路径下,解决依赖请配置好YUM仓库 

3. 脚本:updatesshd.sh

#!/bin/bash#-------------------------------------|#"WARING"!!! Please use telnet-server.|#"WARING"!!! Please use telnet-server.|#"WARING"!!! Please use telnet-server.|#-------------------------------------|ssh_update(){#Backup the old filesSSL_VER=openssl-1.0.1gSSH_VER=openssh-6.6p1CUR_DIR=$(pwd)SSH_DIR=/usr/local/opensshcd  /etc/ssh/mkdir oldmv ssh* moduli  oldmv /etc/init.d/sshd    /etc/init.d/sshd.old #Update sslyum -y install gcc gcc-c++ zlib-devel pam-devel tcp_wrappers*cd $CUR_DIRtar zxf    $SSL_VER.tar.gzcd $SSL_VER./config shared zlibmake && make installmv  /usr/bin/openssl    /usr/bin/openssl.oldmv  /usr/include/openssl    /usr/include/openssl.oldln -s  /usr/local/ssl/bin/openssl    /usr/bin/opensslln  -s   /usr/local/ssl/include/openssl/   /usr/include/opensslecho  "/usr/local/ssl/lib" >> /etc/ld.so.confldconfig/sbin/restorecon -v /usr/local/ssl/lib/libcrypto.so.1.0.0cd .. #Update sshdrpm -e `rpm -qa | grep openssh` --nodepstar zvxf $SSH_VER.tar.gzcd $SSH_VER/./configure --prefix=$SSH_DIR --sysconfdir=/etc/ssh  --with-pam  --with-tcp-wrappers \--with-ssl-dir=/usr/local/ssl --with-md5-passwords --with-zlib=zlibmake && make installcp contrib/redhat/sshd.init   /etc/init.d/sshdchmod  u+x   /etc/init.d/sshdchkconfig --add   sshdchkconfig sshd oncp -rf sshd_config  /etc/ssh/sshd_configcd  $SSH_DIRcp -rf  sbin/sshd  /usr/sbin/sshdcp -rf  bin/*  /usr/bin/sed  -i 's#/usr/libexec/sftp-server#/usr/local/openssh/libexec/sftp-server#'  /etc/ssh/sshd_configservice sshd  restart} read -p "Are you using telnet[YES/NO]?" ANSWERcase $ANSWER inYES)   echo "Fine,continue!!!"   ssh_update 2>&1 | tee -a /tmp/update.log ;;NO)   echo "It is dangerous,bye!!!";;*)   echo "Error choice";;esac

  

4. 结果验证:

[root@localhost src]# ssh  -V

SSH, OpenSSL 1.0.1g 7 Apr 2014

转载于:https://www.cnblogs.com/elisun/p/5523696.html

你可能感兴趣的文章
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息...
查看>>
Linux下Nginx安装
查看>>
LVM扩容之xfs文件系统
查看>>
Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)
查看>>
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>