Esempio n. 1
0
def _generate_user_data_script(cluster):
    script_template = """#!/bin/bash
echo "%(public_key)s" >> %(user_home)s/.ssh/authorized_keys
echo "%(private_key)s" > %(user_home)s/.ssh/id_rsa
"""
    key = c.private_key_to_public_key(cluster.private_key)
    return script_template % {
        "public_key": key,
        "private_key": cluster.private_key,
        "user_home": "/root/"
    }
Esempio n. 2
0
def _generate_user_data_script(cluster):
    script_template = """#!/bin/bash
echo "%(public_key)s" >> %(user_home)s/.ssh/authorized_keys
echo "%(private_key)s" > %(user_home)s/.ssh/id_rsa
"""
    key = c.private_key_to_public_key(cluster.private_key)
    return script_template % {
        "public_key": key,
        "private_key": cluster.private_key,
        "user_home": "/root/"
    }
Esempio n. 3
0
    def _write_hadoop_user_keys(self, private_key, instances):
        public_key = crypto.private_key_to_public_key(private_key)

        files = {'id_rsa': private_key, 'authorized_keys': public_key}

        mv_cmd = 'sudo mkdir -p /home/hadoop/.ssh/; ' \
                 'sudo mv id_rsa authorized_keys /home/hadoop/.ssh ; ' \
                 'sudo chown -R hadoop:hadoop /home/hadoop/.ssh; ' \
                 'sudo chmod 600 /home/hadoop/.ssh/{id_rsa,authorized_keys}'

        for instance in instances:
            with remote.get_remote(instance) as r:
                r.write_files_to(files)
                r.execute_command(mv_cmd)
Esempio n. 4
0
def _generate_user_data_script(node_group):
    script_template = """#!/bin/bash
echo "%(public_key)s" >> %(user_home)s/.ssh/authorized_keys
echo "%(private_key)s" > %(user_home)s/.ssh/id_rsa
"""
    cluster = node_group.cluster
    if node_group.username == "root":
        user_home = "/root/"
    else:
        user_home = "/home/%s/" % node_group.username

    return script_template % {
        "public_key": crypto.private_key_to_public_key(cluster.private_key),
        "private_key": cluster.private_key,
        "user_home": user_home
    }
Esempio n. 5
0
    def _write_hadoop_user_keys(self, private_key, instances):
        public_key = crypto.private_key_to_public_key(private_key)

        files = {
            'id_rsa': private_key,
            'authorized_keys': public_key
        }

        mv_cmd = 'sudo mkdir -p /home/hadoop/.ssh/; ' \
                 'sudo mv id_rsa authorized_keys /home/hadoop/.ssh ; ' \
                 'sudo chown -R hadoop:hadoop /home/hadoop/.ssh; ' \
                 'sudo chmod 600 /home/hadoop/.ssh/{id_rsa,authorized_keys}'

        for instance in instances:
            with instance.remote as remote:
                remote.write_files_to(files)
                remote.execute_command(mv_cmd)
Esempio n. 6
0
def _generate_user_data_script(node_group):
    script_template = """#!/bin/bash
echo "%(public_key)s" >> %(user_home)s/.ssh/authorized_keys
echo "%(private_key)s" > %(user_home)s/.ssh/id_rsa
"""
    cluster = node_group.cluster
    if nova.get_node_group_image_username(node_group) == "root":
        user_home = "/root/"
    else:
        user_home = "/home/%s/" % nova.get_node_group_image_username(
            node_group)

    return script_template % {
        "public_key": crypto.private_key_to_public_key(cluster.private_key),
        "private_key": cluster.private_key,
        "user_home": user_home
    }
Esempio n. 7
0
    def test_private_key_to_public_key(self):
        key = c.private_key_to_public_key(c.generate_private_key())

        self.assertIsNotNone(key)
        self.assertIn('ssh-rsa', key)