用python编写一个远程控制程序

基于SSH的远程控制程序

  1. 远程控制程序分为正向控制和反向控制。简单理解,正向控制,我们是客户端,去连接一个开放远程服务的服务器。反向控制我们在自己的电脑上搭建远程控制服务器,连接我们服务器的客户将会被我们控制。现在的攻击多采用反向控制

  2. 基于paramiko实现ssh客户端
    pip安装paramiko

    python3 -m pip install paramiko

    paramiko是一个用ssh实现远程控制的python模块,其中封装了ssh的各种功能,两个重要的连接函数SSHClinet()实现命令执行、SFTPClinet()实现上传和下载操作

import paramiko

cline = paramiko.SSHClient()  # 创建SSHCline()对象

# 允许连接不再known_hosts文件中的主机
cline.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 基于口令的安全验证:使用connect()函数连接服务端

try:
    cline.connect(hostname='192.168.227.101', port=22, username='root', password='123456')
    print('连接成功----输入end退出连接!!!')
    while True:
        cmd = input('PyShell:')
        if 'end' == cmd:
            cline.close()
            break
        # 命令执行 这里表示StandardInput程序的标准输入 result表示输出 stderr表示句柄 cline.exec_command('ifconfig')执行命令
        else:
            StandardInput, result, stderr = cline.exec_command(cmd)
            print(result.read())
except IOError:
    print('连接失败')

运行结果:
在这里插入图片描述

  1. 基于paramiko实现上传和下载文件
import paramiko

transport = paramiko.Transport(('192.168.227.101',22))
transport.connect(username='root',password='123456')

# 创建sftp对象
sftp = paramiko.SFTPClient.from_transport(transport)

# 上传文件到服务器 并命名为a.txt
sftp.put('E:\\pyHack\\pythonSSH\\test', '/home/data/a.txt')

# 下载文件
sftp.get('/home/data/b','E:\\pyHack\\pythonSSH\\test\\b.txt')

sftp.close()

在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值