예제 #1
0
파일: vpc.py 프로젝트: meekrosoft/train
def create_key_pairs():
    """Create key pairs for all users"""

    conn = _connect()

    with open(USER_FILE) as users:
        for user in users:
            user = user.split(',')[0].strip()

            # directory to store keys on host
            if not os.path.exists('/host/{0}/users/{1}'.format(VPC, user)):
                os.makedirs('/host/{0}/users/{1}'.format(VPC, user))

            if check_key_pair(user + '-{0}'.format(VPC)):
                if util.yn_prompt(
                        'Key pair exists. Delete and create a new one?'):
                    delete_key_pair(user)
                else:
                    continue

            print "Creating key pair: {0} ...".format(user +
                                                      '-{0}'.format(VPC))
            key = conn.create_key_pair(user + '-{0}'.format(VPC))
            key.save('/host/{0}/users/{1}'.format(VPC, user))

            # Generate ppk for Windows/PuTTY users
            os.system(
                "puttygen /host/{1}/users/{0}/{0}-{1}.pem -o /host/{1}/users/{0}/{0}-{1}.ppk -O private"
                .format(user, VPC))

            with open('/host/{0}/key-pairs.txt'.format(VPC), 'a') as f:
                f.write(user + '-' + VPC + '\n')

            print "Key '{0}' created and saved ...".format(user +
                                                           '-{0}'.format(VPC))
예제 #2
0
파일: vpc.py 프로젝트: kizbitz/train
def create_key_pairs():
    """Create key pairs for all users"""

    conn = _connect()

    with open(USER_FILE) as users:
        for user in users:
            user = user.split(",")[0].strip()

            # directory to store keys on host
            if not os.path.exists("/host/{0}/users/{1}".format(VPC, user)):
                os.makedirs("/host/{0}/users/{1}".format(VPC, user))

            if check_key_pair(user + "-{0}".format(VPC)):
                if util.yn_prompt("Key pair exists. Delete and create a new one?"):
                    delete_key_pair(user)
                else:
                    continue

            print "Creating key pair: {0} ...".format(user + "-{0}".format(VPC))
            key = conn.create_key_pair(user + "-{0}".format(VPC))
            key.save("/host/{0}/users/{1}".format(VPC, user))

            # Generate ppk for Windows/PuTTY users
            os.system(
                "puttygen /host/{1}/users/{0}/{0}-{1}.pem -o /host/{1}/users/{0}/{0}-{1}.ppk -O private".format(
                    user, VPC
                )
            )

            with open("/host/{0}/key-pairs.txt".format(VPC), "a") as f:
                f.write(user + "-" + VPC + "\n")

            print "Key '{0}' created and saved ...".format(user + "-{0}".format(VPC))
예제 #3
0
def delete_user(conn, user):

    if util.yn_prompt(
            "Are you sure you want to delete user: '******'?".format(user)):

        all = conn.get_all_user_policies(user)
        policies = all.list_user_policies_response.list_user_policies_result.policy_names
        for policy in policies:
            conn.delete_user_policy(user, policy)

        all = conn.get_all_access_keys(user)
        keys = all.list_access_keys_response.list_access_keys_result.access_key_metadata
        for key in keys:
            conn.delete_access_key(key.access_key_id, user)

        try:
            profile = conn.get_login_profiles(user)
        except:
            profile = None

        if profile:
            conn.delete_login_profile(user)

        conn.delete_user(user)

        print "'{0}' AWS user deleted ...".format(user)
    else:
        print "Delete cancelled ..."
예제 #4
0
파일: users.py 프로젝트: REI-Systems/train
def delete_user(conn, user):

    if util.yn_prompt("Are you sure you want to delete user: '******'?".format(user)):

        all = conn.get_all_user_policies(user)
        policies = all.list_user_policies_response.list_user_policies_result.policy_names
        for policy in policies:
            conn.delete_user_policy(user, policy)

        all = conn.get_all_access_keys(user)
        keys = all.list_access_keys_response.list_access_keys_result.access_key_metadata
        for key in keys:
            conn.delete_access_key(key.access_key_id, user)

        try:
            profile = conn.get_login_profiles(user)
        except:
            profile = None

        if profile:
            conn.delete_login_profile(user)

        conn.delete_user(user)

        print "'{0}' AWS user deleted ...".format(user)
    else:
        print "Delete cancelled ..."
예제 #5
0
def create_user(conn, user):
    conn.create_user(user)
    conn.put_user_policy(user, 'train', POLICY)
    info = conn.create_access_key(user)

    pword = None
    if util.yn_prompt('Allow user to log into the AWS Console?'):
        pword = generate_password()
        conn.create_login_profile(user, pword)

    print "\n'{0}' user created succesfully ...\n".format(user)
    print "Username: {0}".format(info.user_name)
    if pword:
        print "Password: {0}".format(pword)
    print "Access Key ID: {0}".format(info.access_key_id)
    print "Secret Access Key: {0}\n".format(info.secret_access_key)
예제 #6
0
파일: users.py 프로젝트: REI-Systems/train
def create_user(conn, user):
    conn.create_user(user)
    conn.put_user_policy(user, 'train', POLICY)
    info = conn.create_access_key(user)

    pword = None
    if util.yn_prompt('Allow user to log into the AWS Console?'):
        pword = generate_password()
        conn.create_login_profile(user, pword)

    print "\n'{0}' user created succesfully ...\n".format(user)
    print "Username: {0}".format(info.user_name)
    if pword:
        print "Password: {0}".format(pword)
    print "Access Key ID: {0}".format(info.access_key_id)
    print "Secret Access Key: {0}\n".format(info.secret_access_key)
예제 #7
0
파일: vpc.py 프로젝트: huslage/train
def create_key_pairs():
    """Create key pairs for all users"""

    conn = _connect()

    with open(USER_FILE) as users:
        for user in users:
            user = user.strip()

            # directory to store keys on host
            if not os.path.exists('/host/share/{0}'.format(user)):
                os.makedirs('/host/share/{0}'.format(user))

            if check_key_pair(user):
                if util.yn_prompt('Key pair exists. Delete and create a new one?'):
                    delete_key_pair(user)
                else:
                    continue

            print "Creating key pair: {0} ...".format(user + '-{0}'.format(TRAIN_TAG))
            key = conn.create_key_pair(user + '-{0}'.format(TRAIN_TAG))
            key.save('/host/share/{0}'.format(user))

            print "Key '{0}' created and saved ...".format(user + '-{0}'.format(TRAIN_TAG))