How to Configure PuTTY for SSH to AWS EC2

Appluex·September 25, 2023·6 min read
Software DevelopmentWeb
Configuring PuTTY to reach an AWS EC2 instance over SSH
PuTTY gives Windows users a clean, graphical way into a remote Linux box.

There are plenty of ways to reach an AWS EC2 instance over SSH, but on Windows the most dependable one is still PuTTY. It's a free, open-source terminal emulator and network file-transfer tool that hands you a graphical front end for connecting to remote systems over a range of protocols. Which is exactly why it's a staple for getting from a Windows desktop onto a Unix-based server. This walkthrough takes you from a freshly launched instance to a live shell.

What PuTTY is good for

Most people install PuTTY for one job. Opening an SSH session to a remote machine. But it quietly covers a lot of ground beyond that:

  • SSH access: its bread and butter. Secure, text-based remote access to servers, routers, switches, and other network gear.
  • Telnet access: supported, though far less secure than SSH and best avoided in production.
  • Serial console access: connect to devices and servers over a serial link, handy for configuring or troubleshooting hardware.
  • Serial communication testing: debug serial traffic between devices such as microcontrollers and sensors.
  • File transfer: bundled tools PSCP and PSFTP move files securely between your machine and a remote host using SCP and SFTP.
  • Tunneling and port forwarding: reach remote services as if they were local, or wrap network traffic in a secure tunnel.
  • SSH key management: the companion tool PuTTYgen generates and manages the key pairs you authenticate with.
  • Terminal customization: tune fonts, colors, and keyboard mappings to taste.
  • Scripting and automation: run scripts or command sequences against remote systems.
  • Network configuration and administration: a go-to for admins configuring devices via the command line and handling routine server maintenance.

That versatility is why PuTTY earns its place in mixed Windows and Unix environments. It's a straightforward way to get at remote systems without a lot of ceremony.

Before you start

You'll need two things on hand:

  • PuTTY installed on your machine. Grab it from the official download page.
  • The key pair for your EC2 instance, in PuTTY's .ppk format.
PuTTY won't read a raw AWS .pem file directly. If that's all you have, convert it to .ppk with PuTTYgen first, then point PuTTY at the converted key.

Step 1: Find the instance IP address

Open your EC2 dashboard, select the instance you want to reach, and copy its public IP address. That address is what PuTTY connects to.

EC2 dashboard showing the instance public IP address
Copy the public IP from the EC2 console.

Step 2: Point PuTTY at the IP

In PuTTY, paste that IP into the Host Name (or IP address) field. While you're here, give the session a name under Saved Sessions so you can reuse it later instead of retyping everything.

PuTTY Session screen with the EC2 IP address entered
Enter the host IP and name the session.

Step 3: Set the username

Under Connection → Data, set the auto-login username to ubuntu. For Ubuntu-based AMIs that's the default login, and setting it here saves you a prompt. And a few avoidable conflicts. When you connect.

PuTTY Data screen with ubuntu set as the auto-login username
Use ubuntu as the auto-login username.

Step 4: Attach your key pair

Head to Connection → SSH → Auth and browse to the .ppk key pair stored on your machine. This is the private key that proves you're allowed in. Without it the instance will refuse the connection.

PuTTY Auth screen with the .ppk private key file selected
Select your .ppk private key.

Step 5: Save and open the connection

Go back to the Session tab and hit Save so this configuration. Host, username, and key. Sticks around for next time. Then press Open to establish the secured connection to your instance.

PuTTY Session tab with the saved configuration ready to open
Save the session, then click Open.

Step 6: You're in

When the terminal drops you onto a shell prompt like the one below, the SSH connection is live and you're ready to deploy to EC2. From here it's all regular Linux. Update packages, install your runtime, and ship.

Connected PuTTY console showing a live shell prompt on the EC2 instance
A live shell on your EC2 instance. You're all set.

If the first connection prompts you to trust the host key, that's expected. Accept it once and PuTTY remembers it. A typical first move once you're in is:

sudo apt update && sudo apt upgrade -y

That's the whole flow: copy the IP, point PuTTY at it, set the username, attach the key, save, and open. If you'd rather hand the infrastructure off entirely, that's the kind of thing we do. tell us what you're deploying, or browse the work we've shipped.

Thinking about building this?

Appluex designs and ships production mobile & web apps. Including AI features. Let's talk.

Book a consultation →← All insights