- SOTA Embedding Retrieval: Gemini + pgvector for Production Chat
- A Review of Agentic Design Patterns
- Model Context Protocol (MCP) and MCP Servers in LLM Agent Systems
- Building AI Agents for Automated Multi-Format Content: From News to Podcasts
- Rediscovering Cursor
- GraphRAG > Traditional Vector RAG
- Cultural Bias in LLMs
- Mapping out the AI Landscape with Topic Modelling
- Sustainable Cloud Computing: Carbon-Aware AI
- Defensive Technology for the Next Decade of AI
- Situational Awareness: The Decade Ahead
- Mechanistic Interpretability: A Survey
- Why I Left Ubuntu
- Multi-Agent Collaboration
- Embeddings and Vector Databases: Enhancing Retrieval Systems
- Building an Automated Newsletter-to-Summary Pipeline with OpenAI: Zapier AI Actions vs AWS SES & Lambda
- Local AI Image Generation
- MLOps: Deploying a Distributed Ray Python Server with Kubernetes, EKS & KubeRay
- Making the Switch to Linux for Development: A Developer's Experience
- Scaling Options Pricing with Ray
- The Async Worker Pool
- Browser Fingerprinting: Introducing My First NPM Package
- Reading Data from @socket.io/redis-emitter without Using a Socket.io Client
- Socket.io Middleware for Redux Store Integration
- Sharing TypeScript Code Between Microservices: A Guide Using Git Submodules
- Efficient Dataset Storage: Beyond CSVs
- Embracing Next.js 13: Why I switched from Plain React
- Deploy & Scale Socket.io Containers in ECS with Elasticache
- Implementing TOTP Authentication in Python using PyOTP
- Simplifying Lambda Layer ARNs and Creating Custom Layers in AWS
- TimeScaleDB Deployment: Docker Containers and EC2 Setup
- ›How to SSH into an EC2 Instance Using PuTTY
How to SSH into an EC2 Instance Using PuTTY
If you're working with Amazon Web Services (AWS) and need to access your EC2 instances securely, PuTTY can be a valuable tool. However, PuTTY doesn't directly support the standard .pem
files generated by AWS for SSH authentication. In this guide, I'll walk you through connecting to your EC2 instances using PuTTY by converting your .pem
file to a .ppk
file that PuTTY can understand.
Download PuTTY and PuTTYgen
To get started, you'll need to download PuTTYgen, a companion tool that converts the .pem
file to a format accepted by PuTTY. This conversion is necessary because PuTTY doesn't directly accept .pem
files generated by AWS.
Convert .pem to .ppk using PuTTYgen
Step 1: Launch PuTTYgen and load your .pem
file generated by AWS.

Step 2: Once the file is loaded, click on Save private key to save the private key as a .ppk
file. PuTTYgen will prompt you to save without a passphrase - you can proceed safely for this conversion.
Configure PuTTY Connection
Now that we have the converted .ppk
file, let's configure PuTTY to SSH into our EC2 instance.
Step 1: Open PuTTY and enter the public IP address of your EC2 instance in the Host Name field.

Step 2: Navigate to Connection > Data in the left panel and specify the username as ec2-user
(this may vary depending on your AMI - Ubuntu instances use ubuntu
, Amazon Linux uses ec2-user
).

Step 3: Navigate to Connection > SSH > Auth > Credentials and browse to select your previously converted .ppk
file.

Step 4: Return to the Session category, optionally save your configuration for future use, then click Open to establish the connection to your EC2 instance.
Troubleshooting Common Issues
If you encounter connection issues, verify that:
- Your EC2 instance's security group allows SSH traffic (port 22) from your IP address
- The instance is in a running state
- You're using the correct username for your AMI type
- The
.ppk
file was properly converted from the original.pem
file
This method provides a secure way to access your AWS EC2 instances using PuTTY's familiar interface, making server management more accessible for Windows users who prefer GUI-based SSH clients.