hti 发表于 2018-8-11 13:18:30

python模块之paramiko学习<二>

  下面是通过ssh的dsa或rsa公钥验证批量登录服务器执行命令:
  


[*]#!/usr/bin/python
[*]#2012/02/02 by larry
[*]import paramiko
[*]import sys,os
[*]port=22
[*]username='larry'
[*]key_file=&quot;~/.ssh/authorized_keys&quot;
[*]know_host=&quot;/home/larry/.ssh/known_hosts&quot;
[*]command=&quot; &quot;.join(sys.argv) ####获取命令行参数
[*]file=open('ip.list')
[*]for line in file:
[*]      hostname=str(line.split(' ')) ####截取ip字段
[*]      print &quot;#####################################&quot;,hostname,&quot;###############################################&quot;
[*]      s=paramiko.SSHClient()
[*]      s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
[*]      s.load_system_host_keys(know_host)
[*]      s.connect(hostname,port,username,key_file)
[*]      stdin,stdout,sterr=s.exec_command(command)
[*]      print stdout.read().strip()
[*]      s.close()
[*]file.close()
  

  ip.list和paramiko学习<一> 格式一样
  
执行python脚本:
  
python sshkey.py df-h
  
################172.16.22.22########################

  
Filesystem         >  
/dev/mapper/VolGroup00-LogVol00
  
                     14G3.5G9.7G27% /
  
/dev/mapper/VolGroup00-data
  
                      116G   47G   64G43% /data
  
/dev/cciss/c0d0p1      99M   13M   82M14% /boot
  
tmpfs               5.9G   05.9G   0% /dev/shm
页: [1]
查看完整版本: python模块之paramiko学习<二>