-
Notifications
You must be signed in to change notification settings - Fork 2
/
aws-ec2-connect
87 lines (64 loc) · 3 KB
/
aws-ec2-connect
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# https://github.com/joetek/aws-ip-ranges-json
# https://github.com/joetek/aws-ip-ranges-json/blob/master/ip-ranges-ec2-instance-connect.json
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect-Endpoint.html
########################################################################################
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html
#######################################################################################
################################
# Put your Public Key Inside EC2
################################
# aws ec2-instance-connect send-ssh-public-key \
--region us-east-1 \
--availability-zone us-east-1a \
--instance-id i-087aa9186044d6149 \
--instance-os-user ubuntu \
--ssh-public-key file://~/.ssh/id_rsa.pub
########
# Tunnel
########
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-using-eice.html
# Note: only 22 & 3389 allowed
aws ec2-instance-connect open-tunnel \
--instance-id i-087aa9186044d6149 \
--remote-port 22 \
--local-port 2222
ssh -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa ubuntu@localhost -p 2222
#####################
# Tunnel Port forward
#####################
####################################################
Note: OS Username & Ec2 AZ are very important fields
####################################################
aws ec2-instance-connect send-ssh-public-key \
--region us-east-1 \
--availability-zone us-east-1c \
--instance-id i-011a4018af4e3b888 \
--instance-os-user ec2-user \
--ssh-public-key file://~/.ssh/id_rsa.pub
aws ec2-instance-connect open-tunnel \
--instance-id i-011a4018af4e3b888 \
--remote-port 22 \
--local-port 2222
ssh -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa -NL 8443:0.0.0.0:8443 ec2-user@localhost -p 2222
####################
# AwsCli EC2 Connect
####################
#################################################################################################################
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html#SSH-using-EC2-Instance-Connect
##################################################################################################################
##########################
# Latest Version of AwsCLI
##########################
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
&& unzip awscliv2.zip \
&& sudo ./aws/install --update
In the future, we might change the behavior of the auto connection type. To ensure that your desired connection type is used, we recommend that you explictly set the --connection-type to either direct or eice
#############
# AmazonLinux
#############
# To connect to an instance using the instance ID and an EC2 Instance Connect Endpoint
aws ec2-instance-connect ssh --os-user ec2-user --instance-id i-087aa9186044d6149 --connection-type eice
########
# Ubuntu
########
aws ec2-instance-connect ssh --os-user ubuntu --instance-id i-087aa9186044d6149 --connection-type eice --debug