python实现Telnet远程登陆到设备并执行命令

#encoding=utf-8
import telnetlib
import time

def do_telnet(Host, username, password, finish, commands):

    # 连接Telnet服务器
    tn = telnetlib.Telnet(Host, port=23, timeout=10)
    tn.set_debuglevel(2)

    # 输入登录用户名
    tn.read_until(‘ENTER USERNAME < ‘)
    tn.write(username + ‘\r\n‘)

    # 输入登录密码
    tn.read_until(‘ENTER PASSWORD < ‘)
    tn.write(password + ‘\r\n‘)

    # 登录完毕后执行命令
    tn.read_until(finish)
    for command in commands:
        result = tn.write(‘%s\r\n‘ % command);

    #执行完毕后,终止Telnet连接(或输入exit退出)
    tn.read_until(‘COMMAND EXECUTED‘)
    tn.close() # tn.write(‘exit\n‘)

if __name__==‘__main__‘:
     # 配置选项
    Host = ‘10.68.165.25‘ # Telnet服务器IP
    username = ‘SYSTEM‘   # 登录用户名
    password = ‘SYSTEM‘  # 登录密码
    finish = ‘LEVEL COMMAND <___>‘      # 命令提示符
    commands = [‘ZUSI;‘]
    do_telnet(Host, username, password, finish, commands)

下一步:如何将write的执行结果输出???

时间: 2024-10-10 11:53:00

python实现Telnet远程登陆到设备并执行命令的相关文章

实验四 交换机的Telnet远程登陆配置

实验四 交换机的Telnet远程登陆配置 一.实验目标 掌握采用Telnet方式配置交换机的方法. 二.实验背景 第一次在设备机房对交换机进行了初次配置后,你希望以后在办公室或出差时也可以对设备进行远程管理.现要在交换机上做适当配置. 三.技术原理 配置交换机的管理IP地址(计算机的IP地址与交换机管理IP地址在同一个网段): 1.为telnet用户配置用户名和登录口令: 1) 交换机.路由器中有很多密码,设置对这些密码可以有效的提高设备的安全性. 2) switch(config)# enab

第三章 交换机的Telnet远程登陆配置

一.实验名称 交换机的Telnet远程登陆配置 二.实验内容 1.新建 Packet Tracer 拓扑图 配置交换机管理 ip 地址          Switch(config)# int vlan 1          Switch(config-if)# ip address **IP** **submask***2.配置用户登录密码         Switch(config)# enable password ******* 设置进入特权模式的密码         Switch(co

自动Telnet远程登陆命令

有些时候,在面对开发机的时候,不断的telnet和不断的command自己的命令确实非常麻烦,需要一些自动测试或者自动部署的需求.然而面对telnet很多同学都跟我一样一开始觉得无法通过管道等传用户名和密码给telnet进行自动化执行.但其实很是有解决办法的,目前解决办法大致分一共有两种,一种是用第三方的expect这个命令,它可以交互式的根据终端返回的信息可以在你事先设定好的游戏规则之下进行命令,比如expect "Hello", send "Hello, too"

Python远程登录Linux操作系统,执行命令、创建目录、上传及下载文件

主要是创建文件: #! /bin/bash # -*- coding: utf-8 -*- import paramiko import os ssh = paramiko.SSHClient() key = paramiko.AutoAddPolicy() ssh.set_missing_host_key_policy(key) pkey = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa') paramiko.util.log

JAVA实现远程SSH连接linux并执行命令

package com.codeconch.ssh; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException;

在Packet Tracer中交换机的Telnet远程登陆配置

实验目标: <1>掌握采用Telnet方式配置交换机的方法. 技术原理: <1>配置交换机的管理ip地址,为telnet用户配置用户名和登录口令. <2>交换机.路由器中有很多密码,设置对这些密码可以有效的提高设备的安全性 <3>switch(config)#enable password  xxx    进入特权模式的密码 switch(config-line)#               可以设置console口和vty远程登陆密码 switch(co

ssh远程连接linux服务器并执行命令

详细方法: SSHClient中的方法 参数和参数说明 connect(实现ssh连接和校验) hostname:目标主机地址 port:主机端口 username:校验的用户名 password:登录密码 pkey:私钥方式身份验证 key_filename:用于私钥身份验证的文件名 timeout:连接超时设置 allow_agent:这是布尔型,设置False的时候禁止使用ssh代理 look_for_keys:也是布尔型,禁止在.ssh下面找私钥文件 compress:设置压缩 exec

Python开发【项目】:RPC异步执行命令(RabbitMQ双向通信)

RPC异步执行命令 需求: 利用RibbitMQ进行数据交互 可以对多台服务器进行操作 执行命令后不等待命令的执行结果,而是直接让输入下一条命令,结果出来后自动打印 实现异步操作 本节涉及最多的还是rabbitmq通信原理知识,要求安装rabbitmq服务 程序用广播topic模式做更好 程序目录结构: 程序简介: # 异步rpc程序 ## 1.需求 - [ ] 利用RibbitMQ进行数据交互 - [ ] 可以对多台服务器进行操作 - [ ] 执行命令后不等待命令的执行结果,而是直接让输入下一

Csico(思科)模拟器拓扑图搭建,远程登陆

这篇跟大家分享思科模拟器上搭建拓扑图思科跟华为两个试图不同,有三个模式Router> 用户模式Router# 特权模式Router(congif)# 全局模式在之前先设置一下,按照截图所指打开接口显示首先我们在思科模拟器上完成初步搭建,规划好网段,规划好线路准备两台PC机 两台路由器 一台交换机(所有设备版本用最高级)注意设备之间得链接线路不要搞错了规划好后,开始配置IP地址,如图所指我们鼠标左键点击PC机,点开之后进入网络配置界面配置IP地址另一台PC机也是一样,注意不要配置反了配置完PC机得