python模块之paramiko学习<二>
下面是通过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) ####获取命令行参数
[*]file=open('ip.list')
[*]for line in file:
[*] hostname=str(line.split(' ')) ####截取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
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]