当前位置: 首页 > 科技观察

CheungSSH国内中文开源自动化运维系统web界面(二)

时间:2023-03-13 03:09:15 科技观察

精彩内容一:CheungSSH国内中文开源自动化运维系统web界面(一)【转自张起川博客】登录CheungSSHWeb  温馨提示:  如果登录联系人次数超过5次,系统将锁定登录IP一天。  ***登录后修改密码,http://你的IP地址:port/cheungssh/admin/。  添加托管主机配置信息  ◆点击“添加服务器”  ◆添加后是这样的:配置,虽然像有些工具需要SSH-key绑定。在CheungSSH中,完全没有必要,因为我想做的事情很简单,再简单!所以在添加托管服务器的时候,只需要填写托管服务器的登录密码,也就是SSH-key,就是你平时登录服务器的方式,简单易懂!  所以,不用我多多介绍,看到界面就明白了!填写什么信息请相信CheungSSH,我们要做的是让用户觉得简单!  高级配置  ◆sudo登录  可以选择sudo为“是”表示执行命令时启用sudo,执行命令时不需要输入sudo开头,直接就是命令,比如原来是sudoifconfig,现在只需要ifconfig,CheungSSH会自动帮你切换。  su-root  可以选择su为是;意思是在执行命令的时候,su-root是开启的,执行命令的时候,不需要输入su-root的开头,直接就是一个命令,比如本来是su-root之后,执行ifconfig,现在只需要ifconfig,CheungSSH会自动帮你切换。  ◆执行命令  应用场景:执行一个whoami命令。请记住,此命令是在被管理的远程服务器上执行的。  命令回显,功能区介绍:关于websocket:classWebSocketServer(object):def__init__(self):self.socket=Nonedefbegin(self):print('WebSocketServerStart!')self.socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)self.socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)self.socket.bind(("0.0.0.0",1337))self.socket.listen(50)globalconnectionlistwhileTrue:i=str(random.randint(90000000000000000000,99999999999999999999))connection,address=self.socket.accept()print'clientip',addressusername=address[0]ie_key='connection'+ipath="/"newSocket=WebSocket(connection,i,用户名,address,path,ie_key)newSocket.start()#启动线程并执行run函数connectionlist[ie_key]=connection  #p#选择server  应用场景:如果当前网络有10000台服务器,那么这次你只想操作一千台服务器,那么你就可以选择主机来执行任务了。  添加定时任务  应用场景:  今晚24:00需要在部分主机上执行一些命令,收集服务器信息。至此,你使用这个功能就不用守夜值班了,交给CheungSSH的定时任务模块,就可以安心睡觉了。  选择定时任务的时间,对应Linux系统的分时日、月、周一:确认定时任务的时间,可以看到时间格式和那个一模一样linux系统的,是的,我们刚刚开启了操作系统的crontab功能:  查看计划任务  查看CheungSSH定时任务  操作系统定时任务[root@cheungsshbin]#crontab-l*/1*/1*/1*/1*/1/home/cheungssh/mysite/mysite/cheungssh/daemon_FileTransfer.py'{"status":"\u672a\u542f\u52a8","lasttime":"2015-10-2518:45:20","cmd":"","createtime":"2015-10-2518:45:20","sfile":"/var/log","user":"bo","fid":"92262569677243366214","runtype":"download","runtime":"*/1*/1*/1*/1*/1","id":"99556469106"}'#92262569677243366214*/1*/1*/1*/1*/1/home/cheungssh/bin/cheungssh_web.py94246137977316460425*/1*/1*/1*/1*/1/home/cheungssh/bin/cheungssh_web.py91254503983769069002[root@cheungsshbin]#  提示:  CheungSSH还是供用户考虑。通过上面的定时任务,你可能知道怎么用了,但是定时任务的结果和运行过程就不清楚了。在这里,我觉得有必要再跟大家说明一下,CheungSSH要做的就是让用户觉得简单,真正让用户好用。所以,这个定时任务的原理是:在CheungSSH控制机上执行的定时任务,不在托管服务器上执行。这样,可以为您降低更多的运营成本。最重要的是,它不会改变您的托管机器再次稳定!降低复杂性!  #p#文件下载  文件传输记录  应用场景:我们记录了所有上传和下载文件的记录。以下是传输记录:  文件下载  应用场景:远程托管服务器上有一个文件。如果此时需要获取文件内容,可以使用我们的下载功能,将远程服务器上的文件下载到CheungSSH服务器上,再从CheungSSH服务器上下载。下载到本地电脑PC机上,神奇的是这一切过程都是自动的!  友情提示:不仅支持文件下载,还支持目录下载!  从远程服务器下载文件到CheungSSH后,会自动弹出下载成功的文件,显示没有下载成功的文件:  将刚刚从CheungSSH从远程服务器下载的文件下载到您的本地计算机:  文件上传  应用场景:如果您需要更新或上传一些文件到托管服务器,这里可以使用上传功能:  文件上传下载,都有进度显示! 其实我们用的是paramiko的SFTP函数:defUpdateFile(ip,port,username,password,UseKey,sfile,dfile):try:t=paramiko.Transport((ip,port))ifUseKey==》Y":KeyPath=os.path.expanduser('~/.ssh/id_rsa')key=paramiko.RSAKey.from_private_key_file(KeyPath)t.connect(username=username,pkey=key)else:t.connect(username=用户名,password=password)sftp=paramiko.SFTPClient.from_transport(t)ret=sftp.put(sfile,dfile)  温馨提示:还是可以上传文件夹的!  脚本管理  执行脚本开放API  ◆主机信息API  ◆服务器运行日志API  ◆服务器状态查询API  ◆文件传输API  命令执行API  ◆资产信息API  ◆定时任务API  ◆更多API.....  ◆更多功能脚本执行  ◆定时任务  ◆权限审核  ◆权限授权  ◆安全设置  ◆更多功能……  和堡垒机角色……  这里就不一一介绍了。当你看到CheungSSHweb界面的时候,不用我多介绍,你一眼就明白这个东西怎么用!因为我们坚持简单!更简单!目前有800个单位和用户,他们很少问我这个功能怎么用,一看就懂!作者简介:张启川2012年参加工作,从事ITLinux运维工作;2013年从事IT系统运维工作;2014年从事运维和python开发;2015年从事自动化运维工作,致力于运维自动化技术研究。擅长Linux系列Redhat、Centos操作系统管理、Oracel数据库DBA维护,目前担任python高级运维开发工程师。