首页 文章 精选 留言 我的

精选列表

搜索[自动出价],共10015篇文章
优秀的个人博客,低调大师

自动升级OPENSSH shell脚本

由于管理着两百多台Linux服务器,一个人搞这么多机器的安全加固比较累,因此在学习了shell脚本之后果断的写了一些常用脚本做一些系统日常维护,本文OPENSSH的升级是博主本人几乎每两三个月就要做一次升级的,没办法绿盟安全扫描系统总是扫描到相关的高危漏洞,再就是OPENSSH版本更新的也比较频繁,因此不偷懒几乎没法活了。废话不说了,在这里贴下脚本,已经在线上服务器上执行了上百次了,应该不会有什么问题。 #!/bin/bash ################################################################# ######updateopensslopensshscirpt######### #####Author:kl##### ######Date:2014/07/13##### ######LastModified:2016/06/02####### ####Warning:starttelnetservicebeforeusethescript##### ################################################################# #################################################################################### # updateopensshandopenssl ######### ##### ## #################################################################################### #Determinewhetherthecurrentsysteminstalledgcccompilertools zlib_version="zlib-1.2.8" openssl_version="openssl-1.0.2g" openssh_version="openssh-7.2p2" gcc_path=`whichgcc` #gcc_name=`basename$gcc_path` DATE=$(date+%Y%m%d) #OSTYPE #Distributor_ID=$(lsb_release-i) Distributor=`lsb_release-i|cut-c17-` #Determinewhethertherootuser userid=`id-u` if["$userid"-ne0];then echo"sorry,onlyrootcanexecutethescript." exit fi #SETSELINUX=disabled if["$Distributor"!="SUSELINUX"];then sed-i'/SELINUX/s/enforcing/disabled/'/etc/selinux/config setenforce0 fi #pam-devel,tcp_wrappers-develneedbeinstalled,Otherwise,thesoftwarewillinstallfailure #Supportfortcpwrappers/libwraphasbeenremovedinopenssh6.7 if!rpm-qa|greppam-devel&>/dev/null;then echo"pam-develisnotinstalled"&&exit fi #if!rpm-qa|greptcp_wrappers-devel&>/dev/null;then # echo"tcp_wrappers-develnotinstalled"&&exit #fi #Checkwhethertoopenthetelnetservice netstat-tnlp|grep-w23 RETVAL3=$? if[$RETVAL3-eq0];then echo"telnetserviceisrunning------------[yes]" else echo"telnetserviceisnotrunning--------[no]" exit fi #Determinewhethertoinstallgccpackage if[-e"$gcc_path"];then echo"gccisinstalled----------------[yes]" else echo"gccisnotinstalled------------[no]" exit fi #stopsshdservice netstat-tnlp|grep-w22 RETVAL4=$? if[$RETVAL4-eq0];then servicesshdstop echo"stopsshdservice--------------[yes]" fi if[-e/etc/init.d/sshd];then cp/etc/init.d/sshd/root fi #removeopenssh*.rpmifexists ifrpm-qa|grepopenssh&>/dev/null; then rpm-qa|grepopenssh>openssh_list.txt whilereadline do rpm-e$line--nodeps echo"remove$linesuccess------------[yes]" done<openssh_list.txt fi ###########installzlib################## tar-zxvf"${zlib_version}.tar.gz">/dev/null cd$zlib_version ./configure RETVAL5=$? if[$RETVAL5-ne0];then echo"Configurezlibhasencounteredanerror" exit fi make RETVAL6=$? if[$RETVAL6-ne0];then echo"makezlibhasencounteredanerror" exit fi makeinstall cd.. echo"#########################################################" echo"#################################" echo"################zlibinstallsuccess#################" echo"#################################" echo"#########################################################" sleep2 ##########installopenssl############# tar-zxvf"${openssl_version}.tar.gz">/dev/null cd$openssl_version ./configsharedzlib RETVAL7=$? if[$RETVAL7-ne0];then echo"Configureopensslhasencounteredanerror" exit fi make RETVAL8=$? if[$RETVAL8-ne0];then echo"makeopensslhasencounteredanerror" exit fi makeinstall if[-e/usr/bin/openssl];then mv/usr/bin/openssl/usr/bin/openssl.OFF&&ln-s/usr/local/ssl/bin/openssl/usr/bin/openssl else ln-s/usr/local/ssl/bin/openssl/usr/bin/openssl fi if[-e/usr/include/openssl];then mv/usr/include/openssl/usr/include/openssl.OFF&&ln-s/usr/local/ssl/include/openssl/usr/include/openssl else ln-s/usr/local/ssl/include/openssl/usr/include/openssl fi ##Add"/usr/local/ssl/lib"to/etc/ld.so.conf ssl_lib=`grep-w"/usr/local/ssl/lib"/etc/ld.so.conf` if[!-e"$ssl_lib"];then echo"/usr/local/ssl/lib">>/etc/ld.so.conf fi ldconfig-v cd.. echo"#########################################################" echo"#################################" echo"################opensslinstallsucess################" echo"#################################" echo"#########################################################" sleep2 #############installopenssh############## if[-e/etc/ssh];then mv/etc/ssh/etc/ssh_$DATE fi tar-zxvf"${openssh_version}.tar.gz">/dev/null cd$openssh_version ./configure--prefix=/usr--sysconfdir=/etc/ssh--with-zlib--with-pam--with-ssl-dir=/usr/local/ssl--with-md5-passwords RETVAL9=$? if[$RETVAL9-ne0];then echo"Configureopensshhasencounteredanerror" exit fi make RETVAL10=$? if[$RETVAL10-ne0-a$RETVAL10-ne0];then echo"makeopensshhasencounteredanerror" exit fi makeinstall if["$Distributor"=="SUSELINUX"];then cdcontrib/suse cprc.sshd/etc/init.d/sshd chmod+x/etc/init.d/sshd chkconfig--addsshd else cdcontrib/redhat cpsshd.init/etc/init.d/sshd chmod+x/etc/init.d/sshd chkconfig--addsshd fi #AgenericPAMconfigurationisincludedas"contrib/sshd.pam.generic", #youmayneedtoedititbeforeusingitonyoursystem. cd.. cpsshd.pam.generic/etc/pam.d/sshd sed-i's/\/lib\/security\///g'/etc/pam.d/sshd #Modify/etc/ssh/sshd_config #Backup/etc/ssh/sshd_config cp-p/etc/ssh/sshd_config/etc/ssh/sshd_config_bak #ThedefaultsetofciphersandMACshasbeenalteredto #removeunsafealgorithms.Inparticular,CBCciphersandarcfour* #aredisabledbydefault. #ChangessinceOpenSSH6.6 echo"KexAlgorithmsdiffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org">>/etc/ssh/sshd_config echo"Ciphersaes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc">>/etc/ssh/sshd_config echo"MACshmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96">>/etc/ssh/sshd_config #Disablerootaccessviasshtoserver #*Thedefaultforthesshd_config(5)PermitRootLoginoptionhaschangedfrom"yes"to"prohibit-password". #*PermitRootLogin=without-password/prohibit-passwordnowbansall #interactiveauthenticationmethods,allowingonlypublic-key, #hostbasedandGSSAPIauthentication(previouslyitpermitted #keyboard-interactiveandpassword-lessauthenticationifthose #wereenabled). #PermitRootLoginprohibit-passwordisthedefaultsinceversion7.0p1 sed-i's/^#PermitRootLogin/PermitRootLogin/'/etc/ssh/sshd_config #sed-i'/PermitRootLogin/s/yes/no/'/etc/ssh/sshd_config sed-i'/PermitRootLogin/s/prohibit-password/no/'/etc/ssh/sshd_config #Set'UsePAMno'to'UsePAMyes'toenablePAMauthentication,accountprocessing, #andsessionprocessing sed-i'/^#UsePAMno/aUsePAMyes'/etc/ssh/sshd_config #Startsshdprocess servicesshdstart #Disabletelnetservice ifnetstat-tnlp|grep-w22&>/dev/null;then sed-i'/disable/s/no/yes/'/etc/xinetd.d/telnet servicexinetdrestart fi echo"#########################################################" echo"#################################" echo"################opensshinstallsucess################" echo"#################################" echo"#########################################################" echo"###############sshversion#################################################" echo"###################################################################################" sshd-v echo"####################################################################################" echo"####################################################################################"

优秀的个人博客,低调大师

AI搜索 内容自动化:AI 写稿 + 自动优化,能省多少力?

2026 年 3 月 15 日央视曝光了一条产业链:有公司批量生成虚假软文,利用 AI 搜索引擎的抓取机制把不实产品信息推给真实用户。曝光后,一批做相关业务的服务商连夜下架。这个事件暴露了一个核心问题——AI 写稿的门槛已经低到可以批量生产,但“写出来”和“被 AI 引擎引用”之间,隔着一整套技术判断。

优秀的个人博客,低调大师

Docker自动化双主-02自动化脚本制作镜像启动

基于 DOCKER MySQL 主从搭建: 一、根据 Linux 系统版本号安装 dockerEG:Centos 7:1.shell>sudo yum update2.添加 dockeryum$[dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF 3.安装 docker 的包shell>sudo yum install docker-engine4.将 docker 加到服务里面shell>sudo systemctl enable docker.service 5.启动 dockershell> sudo systemctl start docker二、将 docker 镜像导入 linux: 镜像文件上传到/opt/dtstack 目录下: 1.载入镜像:Shell>cd /opt/dtstackShell>docker load < mysql-5.6-x86_64.tar[root@centos7 docker]# docker load < mysql-5.6-x86_64.tarc411e76031a4: Loading layer [==================================================>] 201.9 MB/201.9 MBabd40b5d012f: Loading layer [==================================================>] 60.97 MB/60.97 MB7d082aa6bb0c: Loading layer [==================================================>] 263.3 MB/263.3 MB173e11cd6be1: Loading layer [==================================================>] 6.656 kB/6.656 kBbdb04743768e: Loading layer [==================================================>]sudotee /etc/yum.repos.d/docker.repo <<-'EOF'3.072 kB/3.072 kB9da6836b8f64: Loading layer [==================================================>] 4.872 MB/4.872 MBd47abb872b5c: Loading layer [==================================================>] 20.3 MB/20.3 MB008419e2fbfc: Loading layer [==================================================>] 108.9 MB/108.9 MB95d9d0bff849: Loading layer [==================================================>] 23.04 kB/23.04 kB71405897d961: Loading layer [==================================================>] 1.68 MB/1.68 MB58b14b6eb7df: Loading layer [==================================================>] 49.48 MB/49.48 MBfffc1c2170a5: Loading layer [==================================================>] 94.12 MB/94.12 MB9d60f33d82f1: Loading layer [==================================================>] 23.7 MB/23.7 MB2b9b1be70303: Loading layer [==================================================>] 6.656 kB/6.656 kBa2018f6089d9: Loading layer [==================================================>] 1.122 GB/1.122 GB9e274ef73e1d: Loading layer [==================================================>] 13.82 kB/13.82 kBd0ca45b2e986: Loading layer [==================================================>] 6.144 kB/6.144 kBLoaded image: dtstack_db_01:5.62.列出本地已有镜像:Shell> docker images REPOSITORY TAG SIZEdtstack_db_01 5.6 1.92 GB3.传参脚本说明: #!/bin/bash APP_NAME=db_01DOCKER_IMAGE=dtstack_db_01:5.6docker_run(){docker run -dt \--restart=always --name $APP_NAME \IMAGE ID 26e6aa6ed6c2CREATED 22 hours ago -p 3306:3306 #映射的端口号-v /etc/localtime:/etc/localtime:ro \-v /data/mysql/my3306:/data/mysql \/data/mysql 目录必须存在-e "dbport=3306" #dbport-e "db_root_password=root123" -e "db_master_ip=172.16.1.65" -e "db_slave_ip=172.16.1.86" \ 宿主机目录挂载到/data/mysql/myxxx 下, -e "db_tag=master" -e "db_instance=4" \实例...-i $DOCKER_IMAGE} docker_run4.运行 mysql_docker.sh 脚本 Shell>./mysql_docker.sh db 角色 选择性部署多实例。EG:单实例 db_instance=1, 3 则是 3 个 5.检查容器运行状态: Shell>docker ps –a CONTAINER IDSTATUSIMAGE PORTSCOMMAND"/bin/sh -c '/home..." 34 seconds agoNAMESCREATED dd47a290ae94Up 34 secondsdtstack_db_01:5.60.0.0.0:3306->3306/tcp, 3307-3311/tcp db_01 6.进行观察日志信息是否搭建成功:Shell>docker logs dd47a290ae94170317 19:31:09 mysqld_safe Logging to '/data/mysql/log/alert.log'.170317 19:31:09 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data create replicaiton logmaster change master toupdate root password logSLAVE: 同上述操作: 1.需要更改的: #!/bin/bash APP_NAME=db_01DOCKER_IMAGE=dtstack_db_01:5.6docker_run(){ docker run -dt \ --restart=always \--name $APP_NAME \-p 3306:3306 \-v /etc/localtime:/etc/localtime:ro \-v /data/mysql/my3306:/data/mysql \-e "dbport=3306" \-e "db_root_password=root123" \-e "db_master_ip=172.16.1.69" \-e "db_slave_ip=172.16.1.86" \-e "db_tag=slave" #将 tag 标签转换为 slave,其他不需要修改 -e "db_instance=4" \-i $DOCKER_IMAGE}2.启动 mysql_slave.sh 脚本: Shell>./mysql_docker.sh [root@localhost docker]# docker ps -aCONTAINER ID CREATED NAMES fb45654c2eda Up 6 minutes docker_runIMAGE STATUSdtstack_db_01:5.6 0.0.0.0:3306->3306/tcp, 3307-3311/tcpCOMMAND PORTS6 minutes agodb_01"/bin/sh -c '/home..."三、通过外部连接 mysql:检查主从是否正常:1.SLAVE:Shell>mysql -h172.16.1.86 -uroot -proot123 -P3306 -e "start slave;show slave statusG" | grep _Running | awk 'NR!=3'Warning: Using a password on the command line interface can be insecure.2.master:[root@centos7 docker]# mysql -h172.16.1.65 -uroot -proot123 -P3306 -e "start slave;show slave statusG" | grep _Running | awk 'NR!=3' Slave_IO_Running: Yes Slave_SQL_Running: Yes Slave_IO_Running: Yes

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册