Python fabric 自动配置ssh免密码登录

该博客介绍了使用Python Fabric自动化配置SSH免密码登录的方法。通过将远程服务器的公钥合并到本地,并分发到目标服务器,实现了SSH连接的自动化和无密码操作。虽然ssh-copy-id可以完成部分任务,但在完全自动化流程中遇到了挑战。
摘要由CSDN通过智能技术生成

实现原理:将各个slave上的id_rsa.pub 文件拉到master上进行合并,然后再分发个各个slave,分发的过程中必须要复制一次,否则sshd不会生效。也可用ssh-copy-id实现,但是不知道如何实现完全自动化,所以放弃了.

"""
File:               LinuxBashShellScriptForOps:pyLinuxHostsSSHKeyInitialization.py
User:               jinke
Create Date:        2018/2/2
Create Time:        11:24
 """
import time
import os
import logging
import logging.handlers
import sys
from fabric.api import *
from fabric.colors import red, green, yellow, blue, magenta, cyan, white
from fabric.context_managers import *
from fabric.contrib.console import confirm

env.roledefs = {
    'all': ['192.168.12.89', '192.168.12.95', '192.168.12.19',],
	'slaves': ['192.168.12.95', '192.168.12.19',],
}

env.passwords = {
    'root@192.168.12.89:22':'jk',
    'root@192.168.12.95:22':'jk',
    'root@192.168.12.19:22':'jk',
}

env.port = '22'
env.user = "root"
env.sudo_user = "root"  # fixed setting, it must be 'root'
env.disable_known_hosts = True
env.warn_only = False
#env.command_timeout = 25
env.connection_attempts = 2

def initLoggerWithRotate(logPath="/var/log", logName=None, singleLogFile=True):
    current_time = time.strftime("%
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值