diff --git a/secdep.py b/secdep.py index 4cc691c..7b0cd54 100755 --- a/secdep.py +++ b/secdep.py @@ -811,9 +811,9 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi if name is None: name = input("Enter the name of the node: ") assert name != "", "Name is empty" - name = provider+"_"+name + name = provider+"-"+name else: - name = provider+"_"+name + name = provider+"-"+name # In the case of aws location has to be None because it is actually derived from the ami (image) if provider == "aws": location = None @@ -944,15 +944,14 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi elif provider == "azure": node = driver.create_node(name, size, image, location, auth=auth) else: - keys = driver.ex_find_or_import_keypair_by_key_material(pubkey) - if len(keys) <= 2: - pass - else: - driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey) + keys = driver.list_key_pairs() + for key in keys: + driver.delete_key_pair(key) + driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey) driver.ex_authorize_security_group_permissive('default') keyname="secdep@"+socket.gethostname() SCRIPT = '''#!/usr/bin/env bash - sudo useradd -G sudo -m secdep + sudo useradd -G sudo -s /bin/bash -m secdep sudo echo "secdep:secdeppass" | sudo chpasswd sudo mkdir -p /home/secdep/.ssh [[ -e /root/.ssh/authorized_keys ]] && sudo cp /root/.ssh/authorized_keys /home/secdep/.ssh/authorized_keys @@ -979,15 +978,14 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi elif provider == "azure": node = driver.create_node(name, size, image, location, auth=auth) else: - keys = driver.ex_find_or_import_keypair_by_key_material(pubkey) - if len(keys) <= 2: - pass - else: - driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey) + keys = driver.list_key_pairs() + for key in keys: + driver.delete_key_pair(key) + driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey) driver.ex_authorize_security_group_permissive('default') keyname="secdep@"+socket.gethostname() SCRIPT = '''#!/usr/bin/env bash - sudo useradd -G sudo -m secdep + sudo useradd -G sudo -s /bin/bash -m secdep sudo echo "secdep:secdeppass" | sudo chpasswd sudo mkdir -p /home/secdep/.ssh [[ -e /root/.ssh/authorized_keys ]] && sudo cp /root/.ssh/authorized_keys /home/secdep/.ssh/authorized_keys @@ -1009,7 +1007,8 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi print('exit_code: %s' % (step_2.exit_status)) print(node.name + " created successfully") print("Node is initializing") - time.sleep(30) #Aws takes a while to assign a public ip + if provider == "aws": + time.sleep(30) #Aws takes a while to assign a public ip print("ip to connect to") print("\nIP: %s\n" % (node.public_ips)) return node @@ -1058,7 +1057,7 @@ def delete_node(): if node is None: print("Nothing was chosen") exit(0) - providerName = node.name.split("_")[0] + providerName = node.name.split("-")[0] if providerName == "gce": driver = get_corresponding_driver("gce") elif providerName == "azure":