paramiko ssh.exec_command 引用返回的变量

import paramiko

ssh = paramiko.SSHClient()  # 创建SSH对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 允许连接不在know_hosts文件中的主机
ssh.connect(hostname='192.168.1.1', port=22, username='root', password='123456')  # 连接服务器

stdin, stdout, stderr = ssh.exec_command("ls /dev/shm | grep m64")  # 执行命令并获取命令结果
# stdin为输入的命令
# stdout为命令返回的结果
# stderr为命令错误时返回的结果
res, err = stdout.read(), stderr.read()
result = res if res else err
print(result.decode().strip())
if result == b'm64\n':
    print("这台机器有m64病毒")
    stdin, stdout, stderr = ssh.exec_command("rm -rf /dev/shm/m64")  # 执行命令并获取命令结果
    # stdin为输入的命令
    # stdout为命令返回的结果
    # stderr为命令错误时返回的结果
    res, err = stdout.read(), stderr.read()
    result = res if res else err
    print(result.decode().strip())
    print("m64已删除")
    stdin, stdout, stderr = ssh.exec_command("rm -rf /dev/shm/config.json")  # 执行命令并获取命令结果
    # stdin为输入的命令
    # stdout为命令返回的结果
    # stderr为命令错误时返回的结果
    res, err = stdout.read(), stderr.read()
    result = res if res else err
    print(result.decode().strip())
    print("config.json已删除")
    stdin, stdout, stderr = ssh.exec_command("rm -rf /dev/shm/pulse-shm-1097641233")  # 执行命令并获取命令结果
    # stdin为输入的命令
    # stdout为命令返回的结果
    # stderr为命令错误时返回的结果
    res, err = stdout.read(), stderr.read()
    result = res if res else err
    print(result.decode().strip())
    print("pulse已删除")
    stdin, stdout, stderr = ssh.exec_command("rm -rf /root/.ssh/scan.conf")  # 执行命令并获取命令结果
    # stdin为输入的命令
    # stdout为命令返回的结果
    # stderr为命令错误时返回的结果
    res, err = stdout.read(), stderr.read()
    result = res if res else err
    print(result.decode().strip())
    print("scan.conf已删除")
    stdin, stdout, stderr = ssh.exec_command(
        "ps -ef |grep m64  | grep -v ps -ef |awk '{print $2}'|awk 'NR==1'")  # 执行命令并获取命令结果
    # stdin为输入的命令
    # stdout为命令返回的结果
    # stderr为命令错误时返回的结果
    res, err = stdout.read(), stderr.read()
    result = res if res else err
    print(result.decode().strip())
    print("PID 是", result)

    command1 = "kill -9" + " " + result.decode().strip()
    print(command1)
    stdin, stdout, stderr = ssh.exec_command(command1)  # 执行命令并获取命令结果
    # stdin为输入的命令
    # stdout为命令返回的结果
    # stderr为命令错误时返回的结果
    res, err = stdout.read(), stderr.read()
    result = res if res else err
    print(result)
    print("PID 已杀")
else:
    print("这台机器不是m64病毒")

ssh.close()  # 关闭连接

首先删除病毒文件,再通过ps 获取进程的pid 拼接成字符串 再通过kill-9 PID 杀进程,从而彻底杀掉病毒。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值