From c39f65aa56d9f7aa8066a09cf52151e568874854 Mon Sep 17 00:00:00 2001 From: mike dupont Date: Wed, 22 Jan 2025 07:45:21 -0500 Subject: [PATCH] hold for jump --- ssh-ssm.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/ssh-ssm.py b/ssh-ssm.py index 5e25edc4cd..a94cb76ae1 100755 --- a/ssh-ssm.py +++ b/ssh-ssm.py @@ -1,6 +1,6 @@ #!/usr/bin/python import time - +import json import boto3 #from dateutil import tz @@ -8,6 +8,17 @@ def parse_command_id(send_command_output): return send_command_output['Command']['CommandId'] +def fwd(instance): + # https://aws.amazon.com/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/ + #INSTANCE_ID=$(aws ec2 describe-instances --filter "Name=tag:Name,Values=CodeStack/NewsBlogInstance" --query "Reservations[].Instances[?State.Name == 'running'].InstanceId[]" --output text) +# create the port forwarding tunnel + prms = { + "portNumber":["22"], + "localPortNumber":["2222"] + } + prms_jsn = json.dumps(prms) + print(f"""aws ssm start-session --target {instance} --document-name AWS-StartPortForwardingSession --parameters '{prms_jsn}'""") + def main(): ec2_client = boto3.client('ec2') ssm_client = boto3.client('ssm') @@ -26,8 +37,9 @@ def main(): instance_id = instance['InstanceId'] state = instance['State']['Name'] if state == 'running': - print(f"Starting command for instance: {instance_id}") - print(f"aws ssm start-session --target {instance_id}") + #print(f"Starting command for instance: {instance_id}") + #print(f"aws ssm start-session --target {instance_id}") + fwd(instance_id) if __name__ == "__main__": main()