本文主要介绍了python连接telnet和ssh的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Telnet 连接方式

#!/usr/bin/env python
# coding=utf-8import time
import telnetlib
import logging__author__ = 'Evan'save_log_path = 'result.txt'
file_mode = 'a+'
format_info = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)# 添加记录 记录器功能
fh = logging.FileHandler(save_log_path, mode=file_mode)
fh.setLevel(logging.DEBUG)
fh.setFormatter(logging.Formatter(format_info))
logger.addHandler(fh)
# 增加显示 记录器功能
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(logging.Formatter(format_info))
logger.addHandler(ch)def telnet_handle(host='', port=''):handle = telnetlib.Telnet(host, port, timeout=10)handle.set_debuglevel(2)  # Display connect info (send command & received info)logger.debug('Connect host: {} port: {} successful'.format(host, port))try:#获取登录提示‘login:' 后输入密码。handle.read_until('login:', timeout=5)#发送命令 登录,用户名:admin 密码:adminhandle.write('admin\n')  #用户名#如果有输入密码的提示符可以打开这一条,并修正确的密码提示符#handle.read_until('输入密码提示符', timeout=5)time.sleep(1)handle.write('admin\n')  #密码time.sleep(1)handle.write('en\n')  #执行指令time.sleep(1)handle.write('sys\n')  #执行指令time.sleep(1)handle.write('display running-config\n')  #执行指令time.sleep(1)handle.write('show stack\n')  #执行指令time.sleep(1)#读取所有信息result = handle.read_very_eager()  logger.info('Received info: {}'.format(result))finally:handle.close()if __name__ == '__main__':telnet_handle(host='192.168.10.1', port='23')

ssh连接方式

#!/usr/bin/env python
# coding=utf-8import paramiko,sys,timeclient = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接SSH服务器
client.connect("192.168.10.1",22,"admin","admin")
#执行命令的方式一   连接linux发送固定指令
stdin,stdout,stderr = client.exec_command("whoami")
time.sleep(2)
print(stdout.read())
stdin,stdout,stderr = client.exec_command("cat /root/lzhi/c_call_python.txt")
print(stdout.read())
stdin,stdout,stderr = client.exec_command("ls")
print(stdout.read())
stdin,stdout,stderr = client.exec_command("ls -la")
print(stdout.read())#执行命令的方式二  获取命令行参数,并且删除参数1.保留需要执行的命令
buf = sys.argv
del buf[0]
str1 = ' '.join(buf)
print(str1)
#执行命令行参数给出的命令
stdin,stdout,stderr = client.exec_command(str1)
#time.sleep(1)
print(stdout.read())

到此这篇关于详解python连接telnet和ssh的两种方式的文章就介绍到这了。

简单介绍python连接telnet和ssh的两种方式相关推荐

  1. python 连接telnet 和ssh的两种方式

    Telnet 连接方式 #!/usr/bin/env python # coding=utf-8import time import telnetlib import logging__author_ ...

  2. Python加载csv文件的两种方式

    本文主要讲解下Python加载csv文件的两种方式,如果知道如何处理的就不必往下看了! 下面来简单介绍下. 实例中的数据集是kaggle的Digit Recognizer的train.csv文件,数据 ...

  3. python repair修复功能_详解Python修复遥感影像条带的两种方式

    GDAL修复Landsat ETM+影像条带 Landsat7 ETM+卫星影像由于卫星传感器故障,导致此后获取的影像出现了条带.如下图所示, 影像中均匀的布满条带. 使用GDAL修复影像条带的代码如 ...

  4. Python操作Neo4j图数据库的两种方式

    Python操作Neo4j图数据库的两种方式 前言 1. 用neo4j模块执行CQL ( cypher ) 语句 2. 用py2neo模块通过操作python变量,达到操作neo4j的目的 3. 用p ...

  5. python使用smtplib群发工资条的两种方式(及群发只成功一条的问题)

    smtplib模块是python自带的发邮件模块,同时还需要的是email模块,不过安装时只需要安装smtplib即可 安装方式两种: pip install smtplib pycharm中,Fil ...

  6. Python:实现图片裁剪的两种方式——Pillow和OpenCV

    原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...

  7. Python创建进程、线程的两种方式

    代码创建进程和线程的两种方式 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. ...

  8. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

  9. Python页面自动化文件上传两种方式

    Python页面自动化测试之文件上传的两种方式 --广州_vivi 最近教学过程,学员项目出现测试上传文件无法执行的情况,分析发现学员项目的上传按钮并不是input按钮,导致无法使用直接定位元素方式进 ...

最新文章

  1. 代码覆盖率工具 Istanbul 入门教程
  2. 抛开约束,增强模型:一行代码提升 ALBERT 表现
  3. activiti web流程设计器 整合视频 教程 SSM和独立部署的方式
  4. 【CF1194E】Count The Rectangles【类扫描线】【单调性】【树状数组】
  5. sqlsever 转mysql 出错 MySQL max_allowed_packet设置及问题
  6. docker certbot 一键申请https证书、证书过期续订、续订成功自动重启服务
  7. JAVA 搭建基于SPRINGBOOT的SSM(SPRING + SPRINGMVC + MYBATIS)的MAVEN项目
  8. android中的sqlite注意事项
  9. 解决SqlServer添加维护计划时出现“代理XP组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用……”
  10. 10_10_安卓加linux命令,Linux 新手必知必会的 10 条 Linux 基本命令
  11. 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
  12. 离散考试题计算机,离散数学试题及答案_离散数学试题库_离散数学试卷及答案...
  13. 【UmiJS学习】01-快速上手
  14. java冒泡排序代码简单_Java冒泡排序简单实现
  15. 汽车CAN诊断——报文数据篇
  16. 如何将pdf生成二维码链接?
  17. 用树莓派打造家庭影院媒体库+硬盘播放机+无人值守下载机
  18. 项目管理经验-豆知识
  19. 关于“调包”,职业调包侠在此!
  20. 招聘面试的STAR原则

热门文章

  1. 一篇文章搞懂人脸识别的十个概念
  2. 有没有什么高效「炼丹」神器可以推荐?复旦fastNLP团队祭出内部调参利器fitlog...
  3. 86岁还在录网课:MIT教授Gilbert Strang最新「线性代数」课程上线
  4. Pandownload 下线了,我花了 30 分钟自己搭建了一个网盘
  5. 哈佛大学校长: 教育是培养你辨别有人在胡说八道的能力
  6. 人生和算法结合起来,你会不会比现在混得好?看完我明白了!
  7. 你稀里糊涂学的算法复杂度,原来这么简单!
  8. Module ‘celery‘ has no attribute ‘celery‘问题
  9. 王爽老师的汇编语言 实验8 jmp是如何实现跳转的
  10. CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAProxy配置文件详解