精彩内容一: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高级运维开发工程师。
