Have you ever launched an EC2 instance and don’t know how to log in to your brand-new instance? It may sound difficult for a beginner, but it’s simple. I will help connect to an EC2 instance using SSH, whether you are using Linux or macOS.
1. Open your terminal and change the directory with the command cd, where you downloaded your pem file. In this demonstration, pem file is stored in the downloads folder.
cd Downloads
This is the explanation of the previous command:
2. Locate the required values in order to connect to your EC2 Instance:
EC2 Public IP Address: AWS assigned a public IP address to the instance, if you’re unable to locate it, go to the EC2 dashboard in the AWS console and go to the instance launched, then go Details and copy the Public IPv4 address, in this example, the value is 3.208.71.105
OS User: Depending on which OS you used on the instance, the default OS user may vary, for Ubuntu distributions use “ubuntu”, for Amazon Linux OS images, use “ec2-user” and for other Linux distributions like CentOS use “root”.
3. Type the SSH command with this structure:
ssh -i instance_key_file.pem
instance_os_user@instance_public_ip_address
For example, using the values obtained in the previous step, the command would look like this:
ssh -i ec2_tutorial.pem ubuntu@3.208.71.105
This is the explanation of the SSH command:
4. Press enter, you will be prompted to add the host to your known_hosts file. Type yes and press enter. This will help to recognize the host each time you’re trying to connect to your instance..
5. And that’s it! Now you’re logged in on your AWS instance
If you struggled to connect to your brand new instance, it is probably that you found some errors, here’s two common errors and how to fix them
This means that the key downloaded does not have proper permissions , this is fixable by running this command:
chmod 400 key_file.pem
Then run the SSH command again and you should be in!
2. Connecting is timing out
This error usually means that the port assigned to the SSH protocol, port number 22, is not allowed to receive incoming connections. Let’s fix this error by adding our Public IP address to the Instance
3. First, go the AWS console, go to the EC2 Service
4. Go to the Security groups and select the security group attached to the instance, usually AWS names the security groups as “launch-wizard-number” by default.
5. Go to the inbound rules, and click on Edit inbound rules
6. Click Add rule
7. Type SSH and select SSH Type, by default Protocol and port will be automatically assigned.
8. In the source column, select “My IP”, this will add your Public IP to the security group
9. Finally, click on Save rules
You might also like: What is AWS ECS? – Run Docker in Production and AWS Security Tools
This blog is also available on our DZone profile
EC2 (Elastic Cloud Compute) is a service where you can create servers to launch your websites or applications. One of the first things you will find when you create an EC2 instance is the instance type/size. Learn more about creating and choosing the best EC2 instance for your project here.
Since many other providers on the network can host your app, we choose Amazon EC2 because it offers a lot of possibilities. You can start with a small instance, then, when you get more traffic, grow it up to a bigger option, making EC2 more flexible and adaptable than other technologies to host your application.
– High availability level.
– High-reliability level.
– Scalable in memory space and server size.
– The hard disk space is independent of the instance size, so it can be set according to your requirements and increased using the AWS service EBS (Elastic Block Store).
– It offers “double” security since, in addition to the default firewall, AWS Security Groups restrict the ports you prefer.
Secure Socket Shell (SSH) enables public-key-based authentication and facilitates encrypted connections between two endpoints in a network. Generating SSH keys to access containers and servers is highly recommended for securing your IT resources, and it is one of many DevOps security best practices.
It’s commonly used to connect to EC2 instances on AWS to manage servers, transfer files, and perform administrative tasks because it provides a versatile and efficient way to remotely manage EC2 instances, configure servers, execute commands, and transfer files, which are essential tasks for maintaining cloud infrastructure on AWS
Check for common issues such as incorrect security group settings, missing SSH key pair, wrong instance state, or incorrect private key permissions. Ensure that the EC2 instance’s firewall rules allow SSH access.
You can create and manage multiple SSH key pairs in AWS, associating each one with a specific EC2 instance. You can also use the AWS Systems Manager Session Manager for more secure access without needing an SSH key
At ClickIT, we deliver high-quality solutions that empower businesses to innovate and scale efficiently. One…
GitHub Copilot has transformed how developers approach coding by providing AI-driven suggestions that enhance efficiency…
There’s always something new in artificial intelligence. For the last few weeks (and possibly for…
Have you ever considered which AI model would best serve your needs: Claude vs GPT?…
Just like most software developers build complex applications with trusted development frameworks, Artificial Intelligence engineers…
Today, we will look at a debate interesting to machine learning enthusiasts: Pytorch vs Tensorflow.…