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

相关文章
|
2天前
|
小程序 程序员 开发者
Python学习心得——小白的成长之路
Python学习心得——小白的成长之路
9 0
|
2天前
|
网络安全 Python
网安之python基础学习练习(2-3)
本篇博文是关于网络安全课程中Python编程的学习实践总结。分享关于两个练习题目及其解决方案。第一个题目要求用户输入姓名并选择一项武技,使用for循环和if判断实现。第二个题目是删除列表中特定值(如'cat')的所有元素,作者展示了两种方法,包括列表推导式和常规循环删除。接下来,文章还介绍了如何编写一个函数,随机生成一副扑克牌(除大小王),并返回一张随机抽取的牌。
|
2天前
|
存储 网络安全 索引
网安之python基础学习练习(1)
本篇博文是关于网络安全课程中Python编程学习的总结,主要内容包括:1) 常见数据类型的回顾和应用,如数字(整数、浮点数、复数)、字符串、列表、元组、集合、字典和布尔类型;2) 数据类型的实例操作,展示如何创建和使用这些类型;3) 数值类型之间的加、减、乘、除和模运算;4) 列表和元组的索引访问;5) 字典的修改,如查看键和值,以及更新值。文章强调了基础知识的重要性,并以“自满必定失败,骄傲必定后悔”作为每日一言。
|
3天前
|
Linux 数据安全/隐私保护 iOS开发
如何将python命令链接到Python3
如何将python命令链接到Python3
8 0
|
4天前
|
Shell 测试技术 Python
在Mac上用Python调用终端执行命令
在Mac上用Python调用终端执行命令
8 1
|
4天前
|
机器学习/深度学习 数据挖掘 程序员
Python学习难度的具体标准
Python学习难度因个人编程背景、目标、资源和学习能力而异。对有编程经验者来说,Python的简单语法使其易上手;而对于新手,理解基础概念可能需更多时间。不同应用领域(如Web开发、数据分析)的学习曲线也不同。丰富的学习资源适应各种水平,但选择合适资源很重要。成功学习Python需要逻辑思维、问题解决能力及毅力。总的来说,Python学习难度因人而异,需结合自身条件评估。
18 0
|
4天前
|
存储 索引 Python
python数据结构知识学习
【5月更文挑战第6天】Python提供四种核心数据结构:列表(List)——可变有序集合,支持索引和切片;元组(Tuple)——不可变有序集合;字典(Dictionary)——键值对结构,通过键访问值;集合(Set)——无序不重复元素集合,支持数学运算。此外,Python允许自定义数据结构,如链表、树、图,以适应不同问题需求。
13 0
|
10天前
|
机器学习/深度学习 分布式计算 物联网
【Python机器学习专栏】联邦学习:保护隐私的机器学习新趋势
【4月更文挑战第30天】联邦学习是保障数据隐私的分布式机器学习方法,允许设备在本地训练数据并仅共享模型,保护用户隐私。其优势包括数据隐私、分布式计算和模型泛化。应用于医疗、金融和物联网等领域,未来将发展更高效的数据隐私保护、提升可解释性和可靠性的,并与其他技术融合,为机器学习带来新机遇。
|
1月前
|
安全 Linux Shell
Linux SSH(Secure Shell)服务
Linux SSH提供安全网络协议,使用公钥加密技术确保远程服务传输安全。OpenSSH是实现SSH服务的免费开源工具,允许用户加密连接远程登录Linux服务器执行任务。SSH比Telnet更安全,防止数据被截获。SSH还支持端口转发和隧道,广泛应用于系统管理和网络维护,是安全远程访问服务器的重要工具。
26 1
|
2月前
|
安全 Shell Linux
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
45 0