python批量传公钥_python pxssh之实现批量下发ssh公钥文件

#!/usr/bin/env python

'''

需要注意的几点问题

1、pxssh类,存在于pexpect模块里,如果没有安装此模块请自行安装,如果已经存在此模块,但是没有pxssh类,经验证,那就是此模块的版本太低。请更新至新版本

2、关于os.system()中的命令,这是在执行一个shell命令,且本身sshpass 是实现在执行scp文件下发的时候是为了自动输入对端机器的账户密码,如果sshpass没有安装,请自行安装。

'''

#!/usr/bin/env python

from pexpect import pxssh

import os

username="root"

passwd="1qaz#EDC"

try:

for i in range(151,156):

s = pxssh.pxssh()

ipaddr= '192.168.100.%s' % i    #生成一个完整的IP地址

os.environ['ip']=str(ipaddr)    #变量互换,python变量可以在shell里拿到

s.login(ipaddr,username,passwd)     #登录主机(ip,用户,密码)

print 'host:%s login complete!' % ipaddr

s.sendline('mkdir -p /root/.ssh/')    #运行命令,创建一个隐藏ssh目录

os.system('sshpass -p 1qaz#EDC scp /root/.ssh/authorized_keys root@$ip:/root/.ssh/')    #下发公钥文件:authorized_keys

print 'host:%s Task running ok!' % ipaddr

s.prompt()    #匹配系统提示符

s.logout()    #断开SSH连接

except pxssh.ExceptionPxssh, e:

print "pxssh failed on login"

print str(e)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值