python下paramiko模块学习之一:ssh登录和执行命令

简介:

 最近闲着学习python,看到有个paramiko模块,貌似很强大,学着写了个一个小程序,可以直接在window下登录到linux,执行并返回执行结果。

    下面直接贴代码:

 

 
  1. #!/usr/bin/env python 
  2. import paramiko 
  3.  
  4. #hostname='192.168.0.102' 
  5. hostname='172.28.102.250' 
  6. username='root' 
  7. password='abc' 
  8.  
  9. #port=22 
  10. if __name__=='__main__'
  11.         paramiko.util.log_to_file('paramiko.log'
  12.         s=paramiko.SSHClient() 
  13.         #s.load_system_host_keys() 
  14.         s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  15.         s.connect(hostname = hostname,username=username, password=password) 
  16.         stdin,stdout,stderr=s.exec_command('ifconfig;free;df -h'
  17.         print stdout.read() 
  18.         s.close() 

下面看下效果,呵呵:

 

 
  1. s\501914252.HCA-FW9CX2X\Desktop\学习资料\python paramiko-ssh.py" 
  2. eth0      Link encap:Ethernet  HWaddr 00:24:01:01:EA:5C 
  3.           inet addr:172.32.34.240  Bcast:172.32.255.255  Mask:255.255.255.0 
  4.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
  5.           RX packets:1428 errors:0 dropped:0 overruns:0 frame:0 
  6.           TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 
  7.           collisions:0 txqueuelen:1000 
  8.           RX bytes:190928 (186.4 KiB)  TX bytes:128 (128.0 b) 
  9.           Interrupt:20 
  10.  
  11. eth1      Link encap:Ethernet  HWaddr 00:1F:29:03:54:3D 
  12.           inet addr:172.28.102.250  Bcast:172.28.255.255  Mask:255.255.0.0 
  13.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
  14.           RX packets:99698 errors:0 dropped:0 overruns:0 frame:0 
  15.           TX packets:12305 errors:0 dropped:0 overruns:0 carrier:0 
  16.           collisions:0 txqueuelen:0 
  17.           RX bytes:36420324 (34.7 MiB)  TX bytes:923630 (901.9 KiB) 
  18.  
  19. lo        Link encap:Local Loopback 
  20.           inet addr:127.0.0.1  Mask:255.0.0.0 
  21.           UP LOOPBACK RUNNING  MTU:16436  Metric:1 
  22.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
  23.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
  24.           collisions:0 txqueuelen:0 
  25.           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b) 
  26.  
  27. peth1     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 
  28.           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1 
  29.           RX packets:99686 errors:0 dropped:0 overruns:0 frame:0 
  30.           TX packets:12333 errors:0 dropped:0 overruns:0 carrier:0 
  31.           collisions:0 txqueuelen:1000 
  32.           RX bytes:36818715 (35.1 MiB)  TX bytes:1006230 (982.6 KiB) 
  33.           Interrupt:20 Memory:f3000000-f3010000 
  34.  
  35. vif0.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 
  36.           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1 
  37.           RX packets:12305 errors:0 dropped:0 overruns:0 frame:0 
  38.           TX packets:99702 errors:0 dropped:0 overruns:0 carrier:0 
  39.           collisions:0 txqueuelen:0 
  40.           RX bytes:923630 (901.9 KiB)  TX bytes:36420811 (34.7 MiB) 
  41.  
  42. vif1.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 
  43.           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1 
  44.           RX packets:5 errors:0 dropped:0 overruns:0 frame:0 
  45.           TX packets:85175 errors:0 dropped:542 overruns:0 carrier:0 
  46.           collisions:0 txqueuelen:500 
  47.           RX bytes:140 (140.0 b)  TX bytes:20377326 (19.4 MiB) 
  48.  
  49. vif2.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 
  50.           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1 
  51.           RX packets:5 errors:0 dropped:0 overruns:0 frame:0 
  52.           TX packets:84859 errors:0 dropped:411 overruns:0 carrier:0 
  53.           collisions:0 txqueuelen:500 
  54.           RX bytes:140 (140.0 b)  TX bytes:20301953 (19.3 MiB) 
  55.  
  56. vif3.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 
  57.           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1 
  58.           RX packets:5 errors:0 dropped:0 overruns:0 frame:0 
  59.           TX packets:84337 errors:0 dropped:546 overruns:0 carrier:0 
  60.           collisions:0 txqueuelen:500 
  61.           RX bytes:140 (140.0 b)  TX bytes:20174994 (19.2 MiB) 
  62.  
  63. virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00 
  64.           inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0 
  65.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
  66.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
  67.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
  68.           collisions:0 txqueuelen:0 
  69.           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b) 
  70.  
  71. xenbr1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 
  72.           UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1 
  73.           RX packets:86405 errors:0 dropped:0 overruns:0 frame:0 
  74.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
  75.           collisions:0 txqueuelen:0 
  76.           RX bytes:19498121 (18.5 MiB)  TX bytes:0 (0.0 b) 
  77.  
  78.              total       used       free     shared    buffers     cached 
  79. Mem:       3359744     464724    2895020          0      31096     246296 
  80. -/+ buffers/cache:     187332    3172412 
  81. Swap:      5406712          0    5406712 
  82. Filesystem            Size  Used Avail Use% Mounted on 
  83. /dev/mapper/VolGroup00-LogVol00 
  84.                       221G   25G  185G  12% / 
  85. /dev/sda1              99M   22M   73M  23% /boot 
  86. tmpfs                 1.8G     0  1.8G   0% /dev/shm 
  87. none                  1.8G  152K  1.8G   1% /var/lib/xenstored 

    代码很简单,大家有兴趣,可以试验下,希望对您的学习和工作有帮助。

本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/668107如需转载请自行联系原作者


world77

相关文章
|
7月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
840 7
|
7月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
554 0
|
7月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
592 4
|
7月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
686 0
|
7月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
912 0
|
存储 网络安全 数据安全/隐私保护
【专栏】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。
【4月更文挑战第28天】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。`ConnectHandler`简化SSH连接,便于与网络设备交互,而`telnetlib`是Python内置模块,支持Telnet协议的远程登录操作。两者都提供命令执行和响应接收功能。示例代码展示了如何使用它们获取防火墙设备的版本信息,降低了代码复杂度,提高了可读性和维护性。
633 0
|
Linux Python
通过python代码远程连接服务器进行操作之paramiko模块
通过python代码远程连接服务器进行操作之paramiko模块
261 0
|
安全 Linux Shell
Python编程:paramiko模块远程登录
Python编程:paramiko模块远程登录
373 0
|
Python
Python编程:封装paramiko模块实现便捷的远程登录
Python编程:封装paramiko模块实现便捷的远程登录
314 0
|
安全 Linux Shell
Python编程:paramiko模块远程登录
Python编程:paramiko模块远程登录
304 0