搭建MHA,python实现服务器ssh无密码认证
来源:互联网 发布:你是我的知冤家 编辑:程序博客网 时间:2024/04/27 20:32
最近团队搭建MHA,于是写了ssh验证
#/usr/bin/env python
import sys
import paramiko
import pexpect
import subprocess
ssh_dir='/root/.ssh'
id_rsa_pub='%s/id_rsa.pub' %ssh_dir
if not id_rsa_pub:
print 'id_rsa.pub does not exist!,now create id_rsa_pub'
cmd="ssh-keygen -t rsa -f /root/.ssh/id_rsa -P ''"
subprocess.call(cmd,shell=True)
else:
print "have id_rsa_pub"
def up_key(host,port,user,passwd):
try:
s=paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host,port,user,passwd)
t=paramiko.Transport((host,port))
t.connect(username=user,password=passwd)
sftp=paramiko.SFTPClient.from_transport(t)
#stdin,stdout,stderr=s.exec_command('ls /root/.ssh')
print 'upload id_rsa.pub to host:%s....' %host
sftp.put(id_rsa_pub,"/tmp/temp_key")
stdin,stdout,stderr=s.exec_command('cat /tmp/temp_key >> ~/.ssh/authorized_keys && rm -rf /tmp/temp_key')
print 'host:%s auth success!\n' %host
s.close()
t.close()
except Exception,e:
import traceback
traceback.print_exc()
try:
s.close()
t.close()
except:
pass
if __name__=='__main__':
mylist=[]
mylist2=[]
for i in range(1,len(sys.argv)):
mylist.append(sys.argv[i])
print mylist
username="root"
passwd="d4ngd4ngmyr00t"
port=22
print "Begin......"
length=len(mylist)
for i in range(length):
ip=mylist[i]
a=up_key(ip,port,username,passwd)
参考:
https://github.com/linuxyan/linuxyan/blob/master/python/Batch_create_pub_key/Batch_key.py
http://www.cnblogs.com/ma6174/archive/2012/05/25/2508378.html
- 搭建MHA,python实现服务器ssh无密码认证
- python ssh 公钥私钥 密码认证 sftp 服务器文件下载上传
- 在freeBSD服务器之间搭建ssh无密码登录
- Git服务器搭建及SSH无密码登录设置
- Git服务器搭建及SSH无密码登录设置
- ubuntu搭建ssh服务器,实现ssh免密码登录
- SSH无密码登录服务器
- ssh无密码登陆服务器
- ssh无密码登录认证失败
- Python实现Linux下SSh的无密码登录
- SSH 无密码认证(RSA/DSA认证)
- 实现ssh无密码登录
- 实现无密码SSH登录
- ssh实现无密码登录
- 实现ssh无密码登陆
- ssh 实现无密码登陆
- ssh实现无密码登录
- ssh 实现无密码登陆
- 第四周项目四 程序分析(问题4)
- 第4周项目2 太乐了
- 第4周项目1-求最大公约数
- 换分币
- Rust 提供的 lint 检查项说明
- 搭建MHA,python实现服务器ssh无密码认证
- 第四周项目一两个数求最大公约数
- c++第二次作业
- 本月有几天
- 第二周练习 月份
- 第四周上机实践项目 项目4--程序分析(2)
- c++第二次试验-01
- 第三周项目四穷举法解决组合问题
- 详细解释强力的图片加载框架 Glide的配置(顺便补充下CollapsingToolbarLayout的一些功能)