1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 大专栏 fabric 初步实践">36 37 38 39
| #需要以user@host:port填写 env.gateway = "shikanon@183.3.169.134:12020" env.hosts = ["shikanon@183.3.169.134:12020", "root@192.168.0.171:22", "root@192.168.0.181:22"] #可以定义不同的密码 env.passwords = { "shikanon@183.3.169.134:12020":"shikanon_123456", "root@192.168.0.171:22":"12shikanon_3456", "root@192.168.0.181:22":"1234shikanon_56"} #下面是rsa免登录设置 # def create_keygen(): with settings(warn_only=True): run("rm -rf shikanon/.ssh") with settings(warn_only=True): run("mkdir -p shikanon/.ssh") with settings(warn_only=True): result = run(r"ssh-keygen -t rsa -P '' -f ~/shikanon/.ssh/id_rsa")
def get_ras_id(): get("~/shikanon/.ssh/id_rsa.pub","./rsa/rsa_%s_id_rsa.pub"%(env.host))
@runs_once def zip(): local("zip -r authorized_keys.zip rsa/")
def clean(): run("rm -rf ~/shikanon/")
def upload(): run("rm -f authorized_keys.zip") put("authorized_keys.zip","~/shikanon/") with settings(warn_only=True): run("unzip ~/shikanon/authorized_keys.zip -d ~/shikanon/.ssh") rsa_files = run("ls ~/shikanon/.ssh/rsa/") for commandline in rsa_files.split("rn"): for rsa_file in commandline.split(" "): if rsa_file: print("rsa_file:",rsa_file) run("cat ~/shikanon/.ssh/rsa/%s >> ~/shikanon/.ssh/authorized_keys"%rsa_file)
|