openssh一键升级脚本(只升级openssh,其它已有环境不变,解决root登录问题)
#!/bin/bash
#################################################################
###### update openssl openssh scirpt #########
##### Author:kl #####
###### Date:// #####
###### LastModified:// #######
#### Warning:start telnet service before use the script #####
################################################################# ####################################################################################
# update openssh and openssl
#########
#####
##
####################################################################################
sshInst()
{
yum install zlib
#停止当前ssh服务,并备份
echo "停止服务"
service sshd stop
echo "备份服务"
cp -rf /etc/ssh /etc/ssh.old
cp /etc/init.d/sshd /etc/init.d/sshd.old
yum remove openssh -y cd /mnt
tar zxvf openssh-.0p1.tar.gz -C /mnt/
cd ./openssh-.0p1
./configure
make && make install } CHG_SSHD()
{
chmod +x /etc/init.d/sshd
OPT_VALUE='OPTIONS="-f /etc/ssh/sshd_config"'
OPT_EXIST=`grep "${OPT_VALUE}" /etc/init.d/sshd`
if [ -z "${OPT_EXIST}" ];then
sed -i '/$SSHD $OPTIONS &&/i\\t'"${OPT_VALUE}"'' /etc/init.d/sshd
else
echo ${OPT_EXIST}
fi
PATH_EXIST=`grep "${NPATH}" /etc/init.d/sshd`
if [ -n "${PATH_EXIST}" ];then
echo "${PATH_EXIST}"
else
sed -i "s:${OPATH}:${NPATH}:" /etc/init.d/sshd
fi
echo "/etc/init.d/sshd file changes completed."
}
CHG_CONF()
{
##Chenge /etc/ssh/sshd_config
cp sshd_config /etc/ssh/sshd_config
sed -i '/#PermitRootLogin/i\PermitRootLogin yes' /etc/ssh/sshd_config
PATH_EXIST=`grep "${NPATH}" /etc/ssh/sshd_config`
if [ -z "${PATH_EXIST}" ];then
sed -i "s:${OPATH}:${NPATH}:" /etc/ssh/sshd_config
else
echo "${PATH_EXIST}"
fi
echo "/etc/ssh/sshd_config file changes completed."
} OPATH=/usr/
NPATH=/usr/local/
echo -n "The SSH current version is:"
ssh -V
while true;do
echo -n "Continue to update?(yes/no)"
read INPUT
case $INPUT in
Y|y|YES|yes)
sshInst
echo -n "Press any key to continue....."
read AnyKey cp /usr/local/bin/ssh /usr/bin/ssh
echo "Copying ssh....Done."
cp /usr/local/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
echo "Copying ssh_host_ecdsa_key.pub....Done."
cp /mnt/openssh-.0p1/contrib/redhat/sshd.init /etc/init.d/sshd
echo "Copying sshd....Done."
CHG_SSHD
CHG_CONF
break;;
N|n|NO|no)
echo exited
exit ;;
"")
break;;
esac
done chkconfig --add sshd echo "设置开机自启动"
chkconfig sshd on
service sshd restart echo "#########################################################"
echo "################ ################"
echo "################ openssh install sucess ################"
echo "################ ################"
echo "#########################################################" echo "################ ssh version ################"
echo "#########################################################"
ssh -V
echo "#########################################################"
echo "#########################################################" #centos7重启ssh操作
#systemctl daemon-reload
#systemctl restart sshd
openssh一键升级脚本(只升级openssh,其它已有环境不变,解决root登录问题)的更多相关文章
- openssh一键升级脚本(测试成功)
1 ssh版本检查 本文档针对于ssh版本低于7.0的系统,升级为openssh7.5 p1. ssh –V [root@kuajing-db3 ~]# ssh -V OpenSSH_5.3p1, O ...
- CentOS 升级 Python3 (附带: 一键升级脚本)
升级环境 应用名称 版本 Python 3.5.2 Syatem CentOS 6.7 升级方法 [1]下载 Python 3: wget http://mirrors.s ...
- asp.net 版本一键升级,后台直接调用升级脚本
应客户需求,要求实现一个版本一键升级的功能,咨询过同事之后弄了个demo出来,后台代码如下: //DBConnModelInfo:连接字符串的对象 (包含数据库实例名,数据库名,登陆名,登陆密码) p ...
- LNMP一键安装包 PHP自动升级脚本
LNMP一键安装包 PHP自动升级脚本 2011年03月15日 上午 | 作者:VPS侦探 前一段时间完成了lnmp一键安装包的PHP自动升级脚本,今天发布出来,如果想升级PHP版本的lnmp用户可以 ...
- SQL升级脚本实现按版本差异化升级
目前的项目里面,升级脚本是一个SQL文件,无论软件从哪个版本升级,都会把SQL文件里面的语句全部执行一遍,这样存在两个问题: 1.SQL升级文件很庞大,几M很常见,导致文件的加载很慢: 2.重复执行脚 ...
- MySQL/MariaDB/Percona数据库升级脚本
MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本 ...
- php5.3升级脚本
在lanmp/wdcp/wdOS的当前版本中,默认的php都是用到5.2.17的版本如需要升级到php5.3的,可使用如下脚本升级(注:此升级无安全漏洞等原因,只为某些追求高版本或应用需求需要高版本, ...
- CENTOS 7 升级内核版本(附带升级脚本)
写在前面的话 对于系统而言,除非是那种安全性要求非常高的公司或者经常会有第三方安全机构对其漏洞扫描的才容易涉及到系统的内核升级,比如之前呆过一个公司,因为需要做三级等保的原因,就会涉及到系统扫描,这时 ...
- 由于@@ServerName等问题对SQL增量升级脚本进行补充
由于@@ServerName在安装数据库之后修改了机器名的情况下,获取到的内容仍然是原来的机器名,造成数据库连接失败, 所以不能直接使用该全局变量. 此外对升级脚本的执行方式做了一下调整,将版本的判断 ...
随机推荐
- Button基本用语
1.self.btn2 = Button(root,image = photo,command = self.login) 使用 image 图片作为按钮,command 作为响应 2.self.bt ...
- PHP preg_replace_callback_array() 函数
preg_replace_callback_array 函数执行一个正则表达式搜索并且使用一个回调进行替换.高佣联盟 www.cgewang.com 该函数在 PHP7+ 版本支持. 语法 mixed ...
- ElasticSearch 基础入门 and 操作索引 and 操作文档
基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...
- WEB应用中的路径问题及乱码问题
1 WEB应用中的路径问题 在web应用中,由于使用转发跳转路径时,地址栏不变.此时使用相对路径(../)存在404现象. 故使用绝对路径,解决web应用的路径问题. 什么是绝对路径,以 “/” 开 ...
- Django-Model模型Field选项中null和blank的区别
- Option-**blank**设置为True时代表填写表单的时候可以为空,即在save()执行时此字段可以没有,如果字段没有就在数据库上存储一个空字符串: - Option-**null**设置 ...
- socket传输图片用shutdownoutput()之后无法继续传输数据
socket传输图片用shutdownoutput()之后无法继续传输数据前言java的socket是一个全双工套接字,任何的输入流或输出流的close()都会造成Socket关闭.使用java服务器 ...
- Vue 如何优雅的根据条件动态显示组件
常规情况下,在里动态加载不同组件的方式为: <template> <!-- 符合条件A,加载组件A --> <BusinessComponentA v-if=" ...
- Solon 的 PathVariable 不需注解
相对于 Spring boot 的 path variable :Solon 的不需注解,只要变量名对上即可: //path var demo // @XMapping("e/{p_q}/{ ...
- MongoDB学习3:聚合查询
1. 什么是MongoDB聚合框架 1.1 MongoDB聚合框架(Aggregation Frameworn)是一个计算框架,它可以: ● 作用在一个或几个集合上 ● 对集合中的数据 ...
- JavaScript基础-04-对象、函数
对象 1. 对象:使用基本数据类型的数据,创建的变量都是独立的,不能成为一个整体 对象属于一个复合数据类型,在对象中可以保存多个不同数据类型的属性. 对象的分类: (1)内建对象:由ES ...