CN112257040A - 一种基于ssh协议实现对目标机运维的方法、系统与设备 - Google Patents
一种基于ssh协议实现对目标机运维的方法、系统与设备 Download PDFInfo
- Publication number
- CN112257040A CN112257040A CN202011119953.1A CN202011119953A CN112257040A CN 112257040 A CN112257040 A CN 112257040A CN 202011119953 A CN202011119953 A CN 202011119953A CN 112257040 A CN112257040 A CN 112257040A
- Authority
- CN
- China
- Prior art keywords
- script
- maintenance
- target machine
- execution
- expect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012423 maintenance Methods 0.000 title claims abstract description 252
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013515 script Methods 0.000 claims abstract description 383
- 238000012545 processing Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000012550 audit Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Abstract
本申请通过一种基于SSH协议实现对目标机运维的方法、系统及设备,首先获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维,接着基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果,然后基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本,最后基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。通过该方法可无需安装软件即可实现基于堡垒机对目标机运维,在保证传输安全性的前提下提高了运维操作效率。
Description
技术领域
本申请涉及基于堡垒机实现运维的技术领域,尤其涉及一种基于SSH协议实现对目标机运维的技术。
背景技术
目前基于堡垒机实现对目标机运维通常都是通过客户端连接到堡垒机,远程登录到目标机,然后手动进行运维内容的操作,以实现对目标机运维。
运维内容的操作通常是通过SCP(Secure Copy Protocol,安全复制协议)、FTP(FileTransitionProtocol,文件传输协议)等远程协议来实现的,而这些用于远程传输的协议要求必须安装相应的客户端或服务端。
发明内容
本申请的目的是提供一种基于SSH协议实现对目标机运维的方法、系统与设备,用以解决现有技术中必须依赖安装相应软件才能基于堡垒机实现对目标机运维的技术问题。
根据本申请的一个方面,提供了一种基于SSH协议实现对目标机运维的方法,其中,所述方法包括:
获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;
基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;
基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;
基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
可选地,其中,所述运维脚本是经过审核并获得通过的。
可选地,其中,所述获取一个或者多个运维脚本还包括:
将所述运维脚本存放至预设目录;
清除所述预设目录下不合规的文件,其中,所述不合规的文件包括后缀名不合法的文件,或者内容为空的文件。
可选地,其中,所述基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机包括:
基于所述expect脚本,登录所述目标机,并清空所述目标机对应存放所述运维脚本的目录;
将所述运维脚本及所述执行脚本传输至所述目录。
可选地,其中,所述将所述运维脚本及所述执行脚本传输至所述目录包括:
将每个脚本的每一行作为一个字符串;
遍历每个字符串,将每个字符串中的字符逐个重定向到文件,每个运维脚本对应一个文件;
遍历读取所述运维脚本及所述执行脚本,并将获得的对应的文件传输到所述目录。
可选地,其中,若字符串中包括特殊字符,所述将每个字符串中的字符逐个重定向到文件包括:
将所述字符串中的特殊字符进行转码处理;
将转码处理后的字符串的字符逐个重定向到文件。
可选地,其中,在所述expect脚本中设置控制字符串,以放慢文件传输速率。
可选地,其中,在所述expect脚本中设置权限控制命令,以调整运维脚本的执行权限。
可选地,其中,所述方法还包括:
创建并运行一个定时执行程序,其中,所述基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果包括:
基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,基于所述定时执行程序,周期性登录所述目标机,启动所述执行脚本的运行,以周期性实现在所述目标机上运行所述运维脚本并保存运行结果。
可选地,其中,所述方法还包括:
获取所述运行结果。
可选地,其中,所述方法还包括:
展示所述运行结果。
根据本申请的另一方面,还提供了一种基于SSH协议实现运维任务的系统,其中,所述系统包括:
客户端设备,用于编辑一个或者多个运维脚本,其中所述运维脚本用于在目标机上运行,以实现对目标机运维;
堡垒机,用于从客户端设备获取所述运维脚本,并基于所述目标机及所述运维脚本确定执行脚本以及expect脚本,基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机及启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本;
目标机,用于接收所述运维脚本及执行脚本,并接受所述堡垒机的远程登录及启动所述执行脚本的运行,以实现所述运维脚本的运行并保存运行结果。
可选地,其中,所述堡垒机还用于获取并展示所述运行结果。
根据本申请的又一方面,还提供了一种基于SSH协议实现运维任务的堡垒机,其中,所述堡垒机包括:
第一装置,用于获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;
第二装置,用于基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;
第三装置,用于基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;
第四装置,用于基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
可选地,其中,所述第一装置还用于将所述运维脚本存放至预设目录,并清除所述预设目录下不合规的文件,其中,所述不合规的文件包括后缀名不合法的文件,或者内容为空的文件。
与现有技术相比,本申请通过一种基于SSH协议实现对目标机运维的方法、系统及设备,首先获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维,接着基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果,然后基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本,最后基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。通过该方法可无需安装软件即可基于堡垒机实现对目标机运维,在保证传输安全性的前提下提高了基于堡垒机对目标机运维的操作效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种基于SSH协议实现对目标机运维的方法流程图;
图2示出根据本申请另一个方面一种基于SSH协议实现对目标机运维的系统原理框图;
图3示出本申请又一个方面的一种基于SSH协议实现对目标机运维的堡垒机示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,系统各模块和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及优选实施例,对本申请的技术方案,进行清楚和完整的描述。
图1示出本申请一个方面的一种基于SSH协议实现对目标机运维的方法流程图,其中,一个实施例的方法包括:
S11获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;
S12基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;
S13基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;
S14基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
在本申请中,所述方法通过设备1执行,所述设备1是堡垒机,所述设备1以及所述目标机为计算机设备和/或云,所述计算机设备包括但不限于机架式计算机、个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
在该实施例中,在所述步骤S11中,所述设备1获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维。
其中,所述运维脚本是用于实现预设的运维任务的,可以是shell运维脚本(通常是后缀名为.sh的脚本文件),还可以是perl运维脚本(通常是后缀名为.perl或.pl的脚本文件),在此,对编写运维脚本的程序设计语言不做限定,基于任何程序设计语言编写的运维脚本如适用于本申请也应包含在本申请的保护范围内。
其中,所述运维脚本可以脚本文件或者压缩包格式通过网络或拷贝等方式从第三方设备获取,也可以在设备1上直接编写获取,若是压缩包格式,设备1获取后再解压缩,并删除压缩包。在此,对运维脚本的获取方式不做限定,任何获取方式如适用于本申请也应包含在本申请的保护范围内。
其中,每个运维脚本可以应用于一个或者多个目标机,在一个目标机上可以运行一个或者多个运维脚本,以实现相应的运维任务。
可选地,其中,所述运维脚本是经过审核并获得通过的。
基于堡垒机运维流程的规范以及对基于堡垒机运维的权限管理要求,在使用所述运维脚本前,必须由堡垒机管理员对所述运维脚本进行审核,只有审核获得通过的运维脚本被获取以用于后续对目标机运维,若审核未获得通过,则相应运维脚本将被拒绝。
可选地,其中,所述步骤S11还包括:
将所述运维脚本存放至预设目录;
清除所述预设目录下不合规的文件,其中,所述不合规的文件包括后缀名不合法的文件,或者内容为空的文件。
为了简化脚本及提高从操作效率,设备1将获取到的运维脚本存放在预设目录,若所述预设目录下存在不合规的文件,例如后缀名不合法的文件,或者内容为空的文件,等等,则将所述不合规文件清除,以确保所述预设目录下只保存相应的运维脚本及相关文件。
继续在该实施例中,在所述步骤S12中,设备1基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果。
其中,基于预设的运维任务,确定与运维任务关联的目标机以及在所述目标机上运行的运维脚本,编写执行脚本,其中,所述执行脚本用来在目标机上运行运维脚本并保存运维脚本运行结果,以实现运维任务。
继续在该实施例中,在所述步骤S13中,设备1基于需要实现运维任务的目标机、运维脚本及相应的执行脚本,确定expect脚本。
其中,expect语言通常是Linux系统自带的,无需额外安装,设备1采用expect脚本可实现逐一字节将运维脚本以及相应的执行脚本等文件传输到目标机,并且基于SSH(Secure SHell,安全壳)协议,采用expect脚本可实现远程登录到目标机,在目标机上进行相关操作。
继续在该实施例中,在所述步骤S14中,设备1基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
可选地,其中,所述基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机包括:
基于所述expect脚本,登录所述目标机,并清空所述目标机对应存放所述运维脚本的目录;
将所述运维脚本及所述执行脚本传输至所述目录。
其中,所述目录的名称对应运维任务,例如,将目录名称与运维任务名设置成相同或对应设置,一个目录对应一个运维任务。比如,若目标机系统日志运维任务命名为syslog,则用于目标机系统日志运维的shell脚本syslog.sh,上传至目标机后,存放在目录名为…/syslog的目录下。
其中,若在同一目标机上要实现多个运维任务,则每个运维任务对应的一个或多个运维脚本都存放在同一目录下,对应不同运维任务的不同运维脚本存放在对应的目录下,对应不同运维任务的目录同级保存。如果一个执行脚本用于运行对应不同运维任务的多个运维脚本,则执行脚本应存放在对应运维任务的目录的上一级目录。
其中,为了避免影响脚本执行效率,基于expect脚本登录至目标机,在上传运维脚本前,清空对应目录。例如,基于expect脚本登录至目标机,通过send方式发送删除操作,清空目标机对应存放运维脚本的目录。
可选地,其中,所述将所述运维脚本及所述执行脚本传输至所述目录包括:
将每个脚本的每一行作为一个字符串;
遍历每个字符串,将每个字符串中的字符逐个重定向到文件,每个运维脚本对应一个文件;
遍历读取所述运维脚本及所述执行脚本,并将获得的对应的文件传输到所述目录。
例如,基于expect脚本,对于每个脚本文件,按行读取脚本文件,判断行的大小,将一行作为一个字符串,然后再以遍历字符串的方式,逐字符的使用echo命令将字符重定向在文件中,一个脚本文件对应一个重定向后的文件,然后再用send方式将echo命令发送到目标机,以实现将脚本文件从设备1传输到目标机的相应目录。遍历读取所有脚本文件,包括运维脚本及执行脚本,通过以上方式将所有脚本文件传输至目标机的各个脚本文件相对应的目录。
其中,逐字符的使用echo命令将字符重定向在文件中,对字符的处理是读取字符的ASCII码值。
可选地,其中,若字符串中包括特殊字符,所述将每个字符串中的字符逐个重定向到文件包括:
将所述字符串中的特殊字符进行转码处理;
将转码处理后的字符串的字符逐个重定向到文件。
例如,若脚本文件中包含tab键,tab键的ASCII码值为9,属于特殊字符,此时需要先将tab键转化为4个空格键,而空格键的ASCII码值为32,即若脚本文件中包含tab键,需要先转换成4个ASCII码值为32的空格键,然后再使用echo命令将4个空格键对应的字符重定向到文件。
可选地,其中,在所述expect脚本中设置控制字符串,以放慢文件传输速率。
在采用expect脚本逐一字节传输文件过程中,可能会出现传输两端的速度匹配等原因造成目标机接收到的文件发生混乱,可在expect脚本中的适当位置写入send\n命令,适当的放慢上传速率,以避免发生文件混乱。
可选地,其中,在所述expect脚本中设置权限控制命令,以调整运维脚本的执行权限。
还可以在expect脚本中写入send chmod命令,以增加脚本文件的执行权限。例如,可以写入send“chmod+xsyslog.sh\n”或send“chmod 700syslog.sh\n”命令,表明只有syslog.sh脚本文件的所有者才能读、写、执行syslog.sh这个shell运维脚本。
对于周期性的运维任务,由于每次都是进行相同的操作,设备1可以建立一个定时任务,在任务中关联需实现运维任务的目标机,以及运行相关运维脚本的执行脚本。一个定时任务可以包含一个或者多个目标机,在每个目标机上运行执行脚本,以运行相关运维脚本,实现一个或多个具有相同周期性的运维任务。
可选地,在所述步骤S14之前,所述方法还包括:
创建并运行一个定时执行程序,其中,所述步骤S14包括:
基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,基于所述定时执行程序,周期性登录所述目标机,启动所述执行脚本的运行,以周期性实现在所述目标机上运行所述运维脚本并保存运行结果。
例如,在设备1上创建一个定时任务,每次定时到期时,调用expect脚本,远程登录至目标机,比如对于基于shell编写的执行脚本及运维脚本,运行相应目录下的执行脚本,执行脚本遍历相应运维脚本所在目录,输出并保存相应运维任务名(目录名),并通过sh命令,启动shell运维脚本的运行,将shell运行脚本的运行结果输出保存。
可选地,其中,所述一种基于SSH协议实现运维任务的方法还包括:
获取所述运行结果。
其中,执行expect脚本,通过重定向符“>”,将执行的结果写入文件,保存在设备1中,以供展示或存档,供相关用户查看、下载等。
可选地,其中,所述一种基于SSH协议实现运维任务的方法还包括:
展示所述运行结果。
设备1将获取的执行脚本及运维脚本的运行结果在屏幕上展示,或者基于网络传输至客户端展示。
图2示出根据本申请另一个方面的一种基于SSH协议实现对目标机运维的系统原理框图,其中,所述系统包括:
客户端设备210,用于编辑一个或者多个运维脚本,其中所述运维脚本用于在目标机230上运行,以实现对目标机230运维;
堡垒机220,用于从客户端设备210获取所述运维脚本,并基于所述目标机230及所述运维脚本确定执行脚本以及expect脚本,基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机230,并登录所述目标机230及启动所述执行脚本的运行,以实现在所述目标机230上运行所述运维脚本;
目标机230,用于接收所述运维脚本及执行脚本,并接受所述堡垒机220的远程登录及启动所述执行脚本的运行,以实现所述运维脚本的运行并保存运行结果。
在该实施例中,所述客户端设备210为计算机设备和/或云,所述计算机设备包括但不限于智能终端设备、个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
所述堡垒机220及目标机230为计算机设备和/或云,所述计算机设备包括但不限于机架式计算机、个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
其中,堡垒机220还对从客户端设备210获取所述运维脚本进行审核,只有审核通过的运维脚本才用于确定执行脚本以及expect脚本,若审核不通过,则删除运维脚本。
其中,对运维脚本的审核通常是由具有管理员权限的账户人员进行。
可选地,其中,所述堡垒机220还用于获取并展示所述运行结果。
例如,堡垒机220从目标机230处获取所述运行结果,可以直接展示,或者保存为文件,以供客户端查看、下载。
另一个实施例的一种基于SSH协议实现对目标机运维的系统包括:
堡垒机220,用于编辑一个或者多个运维脚本,其中所述运维脚本用于在目标机230上运行,以实现对目标机230运维,并基于所述目标机230及所述运维脚本确定执行脚本以及expect脚本,基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机230,并登录所述目标机230及启动所述执行脚本的运行,以实现在所述目标机230上运行所述运维脚本;
目标机230,用于接收所述运维脚本及执行脚本,并接受所述堡垒机220的远程登录及启动所述执行脚本的运行,以实现所述运维脚本的运行并保存运行结果。
其中,堡垒机220还对所述运维脚本进行审核,只有审核通过的运维脚本才用于确定执行脚本以及expect脚本,若审核不通过,则删除运维脚本。
其中,对运维脚本的审核通常是由具有管理员权限的账户人员进行。
图3示出本申请又一个方面的一种基于SSH协议实现对目标机运维的堡垒机示意图,其中,所述堡垒机包括:
第一装置31,用于获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;
第二装置32,用于基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;
第三装置33,用于基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;
第四装置34,用于基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
其中,所述堡垒机与设备1相同。
在该实施例中,堡垒机第一装置31获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维,堡垒机第二装置32基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果,堡垒机第三装置33基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本,堡垒机第四装置34基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
可选地,其中,所述第一装置31还用于将所述运维脚本存放至预设目录,并清除所述预设目录下不合规的文件,其中,所述不合规的文件包括后缀名不合法的文件,或者内容为空的文件。
其中,所述堡垒机还包括第五装置35(未示出),用于对第一装置31获取的运维脚本进行审核,只有审核通过的运维脚本,才进行后续处理。
根据本申请的又一方面,还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述方法。
根据本申请的又一方面,还提供了一种设备,其中,该设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件和/或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (17)
1.一种基于SSH协议实现对目标机运维的方法,其特征在于,所述方法包括:
获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;
基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;
基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;
基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
2.根据权利要求1所述的方法,其特征在于,所述运维脚本是经过审核并获得通过的。
3.根据权利要求1或者2所述的方法,其特征在于,所述获取一个或者多个运维脚本还包括:
将所述运维脚本存放至预设目录;
清除所述预设目录下不合规的文件,其中,所述不合规的文件包括后缀名不合法的文件,或者内容为空的文件。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机包括:
基于所述expect脚本,登录所述目标机,并清空所述目标机对应存放所述运维脚本的目录;
将所述运维脚本及所述执行脚本传输至所述目录。
5.根据权利要求4所述的方法,其特征在于,所述将所述运维脚本及所述执行脚本传输至所述目录包括:
将每个脚本的每一行作为一个字符串;
遍历每个字符串,将每个字符串中的字符逐个重定向到文件,每个运维脚本对应一个文件;
遍历读取所述运维脚本及所述执行脚本,并将获得的对应的文件传输到所述目录。
6.根据权利要求5所述的方法,其特征在于,若字符串中包括特殊字符,所述将每个字符串中的字符逐个重定向到文件包括:
将所述字符串中的特殊字符进行转码处理;
将转码处理后的字符串的字符逐个重定向到文件。
7.根据权利要求5或6所述的方法,其特征在于,在所述expect脚本中设置控制字符串,以放慢文件传输速率。
8.根据权利要求5至7中任一项所述的方法,其特征在于,在所述expect脚本中设置权限控制命令,以调整运维脚本的执行权限。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
创建并运行一个定时执行程序,其中,所述基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果包括:
基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,基于所述定时执行程序,周期性登录所述目标机,启动所述执行脚本的运行,以周期性实现在所述目标机上运行所述运维脚本并保存运行结果。
10.根据权利要求1或9所述的方法,其特征在于,所述方法还包括:
获取所述运行结果。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
展示所述运行结果。
12.一种基于SSH协议实现运维任务的系统,其特征在于,所述系统包括:
客户端设备,用于编辑一个或者多个运维脚本,其中所述运维脚本用于在目标机上运行,以实现对目标机运维;
堡垒机,用于从客户端设备获取所述运维脚本,并基于所述目标机及所述运维脚本确定执行脚本以及expect脚本,基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机及启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本;
目标机,用于接收所述运维脚本及执行脚本,并接受所述堡垒机的远程登录及启动所述执行脚本的运行,以实现所述运维脚本的运行并保存运行结果。
13.根据权利要求12所述的系统,其特征在于,所述堡垒机还用于获取并展示所述运行结果。
14.一种基于SSH协议实现运维任务的堡垒机,其特征在于,所述堡垒机包括:
第一装置,用于获取一个或者多个运维脚本,其中,所述运维脚本用于在目标机上运行,以实现对所述目标机运维;
第二装置,用于基于所述目标机及所述运维脚本,确定执行脚本,其中,所述执行脚本用以在所述目标机上运行所述运维脚本并保存运行结果;
第三装置,用于基于所述目标机、所述运维脚本及所述执行脚本,确定expect脚本;
第四装置,用于基于所述expect脚本,将所述运维脚本及所述执行脚本传输至所述目标机,并登录所述目标机,启动所述执行脚本的运行,以实现在所述目标机上运行所述运维脚本并保存运行结果。
15.根据权利要求14所述的堡垒机,其特征在于,所述第一装置还用于将所述运维脚本存放至预设目录,并清除所述预设目录下不合规的文件,其中,所述不合规的文件包括后缀名不合法的文件,或者内容为空的文件。
16.一种计算机可读介质,其特征在于,
其上存储有计算机可读指令,所述计算机可读指令被处理器执行以实现如权利要求1至11中任一项所述的方法。
17.一种设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至11中任一项所述方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011119953.1A CN112257040A (zh) | 2020-10-19 | 2020-10-19 | 一种基于ssh协议实现对目标机运维的方法、系统与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011119953.1A CN112257040A (zh) | 2020-10-19 | 2020-10-19 | 一种基于ssh协议实现对目标机运维的方法、系统与设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112257040A true CN112257040A (zh) | 2021-01-22 |
Family
ID=74245003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011119953.1A Pending CN112257040A (zh) | 2020-10-19 | 2020-10-19 | 一种基于ssh协议实现对目标机运维的方法、系统与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112257040A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549882B1 (en) * | 1998-12-21 | 2003-04-15 | Cisco Technology, Inc. | Mechanisms for providing and using a scripting language for flexibly simulationg a plurality of different network protocols |
US20040194088A1 (en) * | 2002-05-08 | 2004-09-30 | Jin-Rwei Chen | Network device management |
CN101950304A (zh) * | 2010-09-30 | 2011-01-19 | 辛乐夫 | 一种信息系统的集成运维方法和装置 |
CN109889381A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 基于堡垒机的自动化配置管理方法及装置 |
CN110138611A (zh) * | 2019-05-15 | 2019-08-16 | 重庆天蓬网络有限公司 | 自动化运维方法及系统 |
CN111181771A (zh) * | 2019-12-06 | 2020-05-19 | 上海上讯信息技术股份有限公司 | 基于堡垒机的改密异常定位方法、装置及电子设备 |
CN111343015A (zh) * | 2020-02-18 | 2020-06-26 | 中国银联股份有限公司 | 一种网络设备运维的方法及运维装置 |
CN111627088A (zh) * | 2020-04-03 | 2020-09-04 | 安徽七天教育科技有限公司 | 一种用于数学试卷图像识别的样本自动生成方法 |
CN111708677A (zh) * | 2020-06-19 | 2020-09-25 | 浪潮云信息技术股份公司 | 一种云计算环境下的云硬盘使用量采集方法 |
-
2020
- 2020-10-19 CN CN202011119953.1A patent/CN112257040A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549882B1 (en) * | 1998-12-21 | 2003-04-15 | Cisco Technology, Inc. | Mechanisms for providing and using a scripting language for flexibly simulationg a plurality of different network protocols |
US20040194088A1 (en) * | 2002-05-08 | 2004-09-30 | Jin-Rwei Chen | Network device management |
CN101950304A (zh) * | 2010-09-30 | 2011-01-19 | 辛乐夫 | 一种信息系统的集成运维方法和装置 |
CN109889381A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 基于堡垒机的自动化配置管理方法及装置 |
CN110138611A (zh) * | 2019-05-15 | 2019-08-16 | 重庆天蓬网络有限公司 | 自动化运维方法及系统 |
CN111181771A (zh) * | 2019-12-06 | 2020-05-19 | 上海上讯信息技术股份有限公司 | 基于堡垒机的改密异常定位方法、装置及电子设备 |
CN111343015A (zh) * | 2020-02-18 | 2020-06-26 | 中国银联股份有限公司 | 一种网络设备运维的方法及运维装置 |
CN111627088A (zh) * | 2020-04-03 | 2020-09-04 | 安徽七天教育科技有限公司 | 一种用于数学试卷图像识别的样本自动生成方法 |
CN111708677A (zh) * | 2020-06-19 | 2020-09-25 | 浪潮云信息技术股份公司 | 一种云计算环境下的云硬盘使用量采集方法 |
Non-Patent Citations (1)
Title |
---|
刘庚;马跃;尹璐;: "Linux在医院数据库安全管理中的应用", 中国科技信息, no. 22, pages 246 - 247 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834051B2 (en) | Proxy server-based malware detection | |
US8412797B2 (en) | Platform for development and deployment of system administration solutions | |
US11797636B2 (en) | Intermediary server for providing secure access to web-based services | |
CN102254111B (zh) | 恶意网站检测方法及装置 | |
US8645942B2 (en) | Software update syndication | |
US11770439B2 (en) | Web server request identification | |
US9497252B2 (en) | On-demand code version switching | |
JP2003162415A (ja) | ネットワークアプリケーションをインストールして実行する方法、及びそのシステム。 | |
CN104036194A (zh) | 一种应用程序中泄露隐私数据的漏洞检测方法及装置 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
JP5347429B2 (ja) | ユニフォームリソースロケータ書換方法及び装置 | |
CN104601666A (zh) | 日志服务方法及云平台 | |
US9558060B1 (en) | End use self-help delivery system | |
US10642785B2 (en) | Optimized network file system client for read-only exports/mounts | |
EP3967023B1 (en) | Web application wrapper | |
CN107239475B (zh) | 一种调用文件方法及装置 | |
CN112257040A (zh) | 一种基于ssh协议实现对目标机运维的方法、系统与设备 | |
CN111723369A (zh) | 一种ftp服务器的文件管理方法、设备以及介质 | |
CN115987637A (zh) | 一种Webshell文件检测方法、装置、设备及存储介质 | |
US10216505B2 (en) | Using machine learning to optimize minimal sets of an application | |
CN113127788A (zh) | 页面处理方法、对象处理方法、装置及设备 | |
CN111324872A (zh) | 一种登录记录及操作记录的重定向集中审计方法、系统 | |
CN115878238A (zh) | 运维审计方法和图形堡垒机 | |
Platt et al. | macOS Built-in Commands | |
Kirkbride et al. | Hardware Details and/dev |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |