Source code for key_creator.upload_keypair

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

import paramiko


[docs]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) stdin, stdout, stderr = client.exec_command("mkdir -p ~/.ssh/") stdout.readlines() stdin, stdout, stderr = client.exec_command('echo "%s" > ~/.ssh/authorized_keys' % key) stdout.readlines() stdin, stdout, stderr = client.exec_command("chmod 644 ~/.ssh/authorized_keys") stdout.readlines() stdin, stdout, stderr = client.exec_command("chmod 700 ~/.ssh/") stdout.readlines()
[docs]def main(): 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)
if __name__ == "__main__": main()