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/" }
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)
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 }
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)
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 }
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)