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

相关文章
|
6月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
398 1
|
6月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
535 1
|
6月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1000 2
|
6月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
272 4
|
7月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
9月前
|
监控 数据安全/隐私保护 Python
微信自动抢红包免费版,2025微信抢红包神器,微信红包挂苹果版【python仅供学习】
这个模拟项目包含5个模块:核心监控逻辑、用户界面、配置管理、实用工具和主程序入口
|
7月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1050 102
|
7月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
435 104
|
7月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
342 103

推荐镜像

更多