day29课堂代码:https://github.com/liyongsan/git_class/tree/master/day29
课堂笔记:
通过原生Ssh 记录会话
1. 在我们自己的堡垒机交互脚本里,嵌入原生ssh
2. 每启动一次Ssh 回话,就自动启动strace监测指令,监测会话记录
1. 为避免步骤2阻塞, 导致Strace拿不到进程号,所以先启动Session_tracker.sh脚本,等待步骤2执行
1.1 多个ssh会话会导致拿到多个pid, 解决办法是每个会话加一个唯一标示,
1.2 会话日志写入文件,每个会话一个文件,为了使会话文件根数据库会话记录关联起来,
启动监测程序前,先生成session_obj对象,把session_obj.id传给Session_tracker.sh,
session_tracker.sh 中的strace -o ssh_audit_$(session_id).log -tt
2. subprocess.run()启动完全的Shell环境
2.1 自动输密码, 装sshpass
2.2 解决sshpass 第一次连接ssh主机需要yes的问题,-o
3. 原生Ssh 检测无法解决文件上传的检测
回到paramio 的故事里
1.实现web ssh ,shellinaboxed
2. 买模板wrapbootstrap
3. token登录的问题