If you are spinning up a GPU instance on RunPod, you probably want to connect to it via SSH to manage your files and run scripts. RunPod is great, but getting your Windows machine to talk to their Linux pods using PuTTY can be a little frustrating if you aren’t used to handling SSH keys.
As a dad of four, my quiet time at the computer is precious. I don’t want to spend 30 minutes fighting with authentication errors just to boot up a server. I just want the fix so I can get to work.
Recently, I ran into a classic problem: Windows 10/11 creates SSH keys in one format, but PuTTY stubbornly demands its own specific .ppk format. It reminds me of doing DIY work on my car—sometimes you have the right bolt, but you need a very specific adapter to make it fit your wrench.
Here is the step-by-step guide to generating your key, converting it, and getting PuTTY connected to your RunPod instance with zero drama.
Step 1: Generate Your SSH Key in Windows
If you haven’t generated a key yet, Windows actually makes this pretty easy now. You don’t need third-party tools for this first part, just PowerShell.
- Press
Win + Xand open PowerShell or Windows Terminal. - Type this command (replace the email with your own) and press Enter:
ssh-keygen -t ed25519 -C "[email protected]" - It will ask you where to save it. Just press Enter to accept the default location (
C:\Users\YourName\.ssh\id_ed25519). - It will ask for a passphrase. You can type one for extra security, or just press Enter twice to leave it empty for faster logins.
Now, if you check your .ssh folder, you will see two files: id_ed25519 (your private key) and id_ed25519.pub (your public key).
Important safety tip: Never share the private one. The .pub file is the only one you upload to RunPod’s settings under your account credentials.
Step 2: The PuTTYgen Conversion
Here is where the headache usually starts. You paste your public key into RunPod, deploy your pod, and open PuTTY. But PuTTY cannot read that id_ed25519 private key file you just made. PuTTY needs a PuTTY Private Key (.ppk).
To fix this, we need to convert it using PuTTYgen, a tool that gets installed automatically when you install PuTTY.
- Press your Windows key, type PuTTYgen, and open it.
- Click the Load button on the right side.
- Navigate to your
.sshfolder (C:\Users\YourName\.ssh\). - Common Mistake Alert: Your folder might look empty! By default, PuTTYgen only looks for
.ppkfiles. In the bottom-right corner of the file window, change the dropdown from PuTTY Private Key Files (.ppk)* to All Files (.). - Select your
id_ed25519file (the one without the .pub extension) and click Open.
PuTTYgen will pop up a message saying “Foreign key imported”. Click OK.
Now, click the Save private key button. Name the new file id_ed25519.ppk and save it right there in your .ssh folder. Now you have the adapter you need.
Step 3: Getting RunPod’s Connection Details
When your RunPod instance is running, click the Connect button. RunPod will give you an SSH command that looks something like this:
ssh [email protected] -p 52221 -i ~/.ssh/id_ed25519
Because RunPod uses port forwarding, you aren’t connecting on the standard SSH port (22). You need to pull two specific pieces of information from that string:
- The IP Address:
206.41.93.58(the numbers after the @ symbol) - The Port:
52221(the numbers after the -p)
Step 4: Configure and Save Your PuTTY Session
Finally, let’s put it all together in PuTTY. We are going to set this up so you only have to click once to connect in the future.
- Open PuTTY.
- On the main Session screen, paste your IP address (
206.41.93.58) into the Host Name box. - Change the Port box from 22 to your specific RunPod port (e.g.,
52221). - In the left-hand menu, click Connection, then Data.
- In the Auto-login username box, type
root. (RunPod instances always use root). - Now, expand Connection -> SSH -> Auth and click on Credentials.
- Look for the box that says Private key file for authentication. Click Browse and select that
id_ed25519.ppkfile we made earlier. - Go back to the very top of the left menu and click Session.
- In the Saved Sessions box, type a name like “RunPod GPU” and click Save.
That’s it! Next time, you just double-click “RunPod GPU” from your saved list, and it will log you straight in without asking for a username or password.
If a black security alert pops up the very first time you connect, just click Accept. It’s just PuTTY learning the server’s identity.
Next Steps
Now that you have a reliable connection, you can easily check your server logs, install Python packages, or monitor your GPU usage with nvidia-smi.
If you want to move files back and forth, you can use these exact same .ppk and port settings in FileZilla (using the SFTP protocol). It makes moving training data to your RunPod a breeze.
Happy building, and let me know if you run into any weird errors!
No Comments