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
+33 -18
View File
@@ -87,21 +87,6 @@
- "Using AMI ID: {{ ami_id | default('AMI not defined') }}"
- "Detected SSH user: {{ ami_ssh_user }}"
# Fix: Use the deployment_id key name if c2deploy prefix exists (for consistency with tool scripts)
- name: Create EC2 key pair with consistent naming
amazon.aws.ec2_key:
name: "c2deploy_{{ deployment_id }}"
region: "{{ aws_c2_region }}"
state: present
register: c2_key_pair
- name: Save private key with consistent naming
copy:
content: "{{ c2_key_pair.key.private_key }}"
dest: "~/.ssh/c2deploy_{{ deployment_id }}.pem"
mode: "0600"
when: c2_key_pair.changed and c2_key_pair.key.private_key is defined
# Create new infrastructure only if not using shared
- name: Create VPC
amazon.aws.ec2_vpc_net:
@@ -212,10 +197,12 @@
# Management access only from operator IP
- proto: tcp
ports: 22
cidr_ip: "{{ operator_ip }}/32"
cidr_ip: "{{ operator_ip }}"
proto: tcp
- proto: tcp
ports: "{{ havoc_teamserver_port | default(40056) }}"
cidr_ip: "{{ operator_ip }}/32"
cidr_ip: "{{ operator_ip }}"
proto: tcp
# Allow traffic only from redirector
- proto: tcp
ports:
@@ -225,17 +212,45 @@
- "{{ havoc_https_port | default(443) }}"
- "{{ gophish_admin_port }}"
cidr_ip: "{{ redirector_ip }}/32"
proto: tcp
rules_egress:
- proto: -1
cidr_ip: 0.0.0.0/0
state: present
register: security_group
# 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: "{{ c2_name }}"
key_name: "c2deploy_{{ deployment_id }}" # Use the same key name as created above
key_name: "c2deploy_{{ deployment_id }}" # Use the imported key
instance_type: "{{ instance_type | default('t2.medium') }}"
vpc_subnet_id: "{{ subnet_id }}"
security_groups: