python 之 实现su 到root账号
简单记录一下如何通过python代码在linux系统下实现自动su - 切换到root账号,
使用到的模块:paramiko
使用到的方法:invoke_shell 功能:在SSH server端创建一个交互式的shell,且可以按自己的需求配置伪终端,可以在invoke_shell()函数中添加参数配置。
测试代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import paramiko ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname = ipaddr, port = port, username = user,password = pwd) # 假设以上以普通用户登录 chan = ssh_client.invoke_shell() # 使用伪终端,默认vt100创建交互式 chan.send( 'su -\n' ) # 发送su 命令 chan.recv( 4096 ).decode() # 接收返回 chan.send( 'root密码\n' ) # 发送root密码 # 以上切换root完毕 # 开始执行shell命令 stdin, stdout, stderr = self .client.exec_command( 'ls /root' ) out, err = stdout.read(), stderr.read() mess = out if out else err mess = mess.strip().decode() print (mess) # 查看输出结果 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步