返回顶部

收藏

python脚本复制ssh公钥文件到其他服务器

更多

如下脚本复制ssh公钥文件到其他服务器,使用了 http://www.lag.net/paramiko/ 模块:

#!/usr/bin/python
import os
from getpass import getpass

import paramiko

def deploy_key(key, server, username, password):
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(server, username=username, password=password)
    client.exec_command('mkdir -p ~/.ssh/')
    client.exec_command('echo "%s" > ~/.ssh/authorized_keys' % key)
    client.exec_command('chmod 644 ~/.ssh/authorized_keys')
    client.exec_command('chmod 700 ~/.ssh/')

key = open(os.path.expanduser('~/.ssh/id_rsa.pub')).read()
username = os.getlogin()
password = getpass()
hosts = ["hostname1", "hostname2", "hostname3"]
for host in hosts:
    deploy_key(key, host, username, password)

标签:python,ssh,linux

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 0X55AA 发表 2014-08-12 07:09:15 pyrasite项目总结为一条命令
  2. 博主 发表 2017-09-22 14:54:39 技巧收集-M1709
  3. AngryFox 发表 2016-08-29 10:35:44 笔记-VirtualBox安装centos配置网络和ssh
  4. hongjiang 发表 2014-11-23 19:26:44 一次编码问题的排查
  5. n0vembr0 发表 2015-09-01 04:58:28 Debian 解决 warning: Setting locale failed
  6. 脑袋 发表 2018-03-27 08:32:17 阿里云centos设置服务器间免密码ssh登录
  7. Xbro 发表 2015-09-29 02:25:26 Linux下SSH免密码登陆
  8. love冥天 发表 2018-04-09 08:55:15 编译安装python扩展(setup.py)提示error: no commands supplie
  9. Ted 发表 2015-01-12 09:34:58 python 模块学习 — operator.itemgetter
  10. Lok 发表 2018-10-01 09:35:32 ssh免密登录
  11. dbafree 发表 2013-04-18 14:24:49 一个多线程程序挂起问题解决
  12. eleven.i386 发表 2014-02-26 16:00:00 记一次ssh密钥登录失败

发表评论