trying to fix ssh key issue

This commit is contained in:
n0mad1k
2025-05-13 14:23:36 -04:00
parent 67aa819ceb
commit 2386cac0ef
4 changed files with 153 additions and 129 deletions
+40 -22
View File
@@ -91,20 +91,6 @@
set_fact:
ami_id: "{{ ubuntu_ami_map[aws_redirector_region] | default(ubuntu_ami_map['us-east-1']) }}"
- name: Create EC2 key pair
amazon.aws.ec2_key:
name: "{{ redirector_name }}"
region: "{{ aws_redirector_region }}"
state: present
register: redirector_key_pair
- name: Save private key locally
copy:
content: "{{ redirector_key_pair.key.private_key }}"
dest: "~/.ssh/{{ redirector_name }}.pem"
mode: "0600"
when: redirector_key_pair.changed and redirector_key_pair.key.private_key is defined
# Create new infrastructure only if not using shared
- name: Create VPC
amazon.aws.ec2_vpc_net:
@@ -210,23 +196,55 @@
dest: "infrastructure_state_{{ deployment_id }}.json"
when: not (use_shared_infra | bool and infra_state_file.stat.exists | default(false))
# Launch the redirector
- name: Launch redirector instance
# Generate or import SSH key for the deployment
- name: Check if deployment SSH key already exists locally
stat:
path: "~/.ssh/c2deploy_{{ deployment_id }}.pem"
register: ssh_key_file
- name: Ensure proper permissions on SSH key
file:
path: "~/.ssh/c2deploy_{{ deployment_id }}"
mode: '0600'
when: not ssh_key_file.stat.exists
- name: Check if key pair exists in AWS
amazon.aws.ec2_key_info:
region: "{{ aws_c2_region }}"
filters:
key-name: "c2deploy_{{ deployment_id }}"
register: existing_key_pair
- name: Import SSH key to AWS
amazon.aws.ec2_key:
name: "c2deploy_{{ deployment_id }}"
key_material: "{{ lookup('file', '~/.ssh/c2deploy_{{ deployment_id }}.pub') }}"
region: "{{ aws_c2_region }}"
state: present
when: existing_key_pair.key_pairs | length == 0
# Launch the C2 server - use the consistent key pair name
- name: Launch C2 instance
amazon.aws.ec2_instance:
name: "{{ redirector_name }}"
key_name: "{{ redirector_name }}"
instance_type: "{{ redirector_instance_type | default('t2.micro') }}"
name: "{{ c2_name }}"
key_name: "c2deploy_{{ deployment_id }}" # Use the imported key
instance_type: "{{ instance_type | default('t2.medium') }}"
vpc_subnet_id: "{{ subnet_id }}"
security_groups:
- "{{ security_group.group_id }}"
image_id: "{{ ami_id }}"
region: "{{ aws_redirector_region }}"
region: "{{ aws_c2_region }}"
state: present
wait: yes
volumes:
- device_name: "/dev/xvda"
ebs:
volume_size: 100
delete_on_termination: true
tags:
Name: "{{ redirector_name }}"
Name: "{{ c2_name }}"
deployment_id: "{{ deployment_id }}"
register: redirector_instance
register: c2_instance
- name: Set redirector_ip for later use
set_fact: