|
下面是通过ssh的dsa或rsa公钥验证批量登录服务器执行命令:
- #!/usr/bin/python
- #2012/02/02 by larry
- import paramiko
- import sys,os
- port=22
- username='larry'
- key_file="~/.ssh/authorized_keys"
- know_host="/home/larry/.ssh/known_hosts"
- command=" ".join(sys.argv[1:]) ####获取命令行参数
- file=open('ip.list')
- for line in file:
- hostname=str(line.split(' ')[1]) ####截取ip字段
- print "#####################################",hostname,"###############################################"
- 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
14G 3.5G 9.7G 27% /
/dev/mapper/VolGroup00-data
116G 47G 64G 43% /data
/dev/cciss/c0d0p1 99M 13M 82M 14% /boot
tmpfs 5.9G 0 5.9G 0% /dev/shm |
|
|