Replacing PuTTY with ZestSSH
PuTTY has been the default Windows SSH client for decades. ZestSSH’s desktop app (Windows, macOS, Linux) provides a modern replacement with tabbed sessions, split panes, a command palette, and cross-device sync. This guide covers how to move your PuTTY setup to ZestSSH.
Importing .ppk Keys
Section titled “Importing .ppk Keys”PuTTY uses its own key format (.ppk files) rather than the standard OpenSSH PEM format. ZestSSH can import .ppk files directly.
- In ZestSSH, go to Identities > + to create a new identity.
- Tap Import Key.
- Select your
.ppkfile. - If the key is passphrase-protected, enter the passphrase when prompted.
- ZestSSH converts the
.ppkto OpenSSH PEM format internally and stores it securely.
Supported .ppk Versions
Section titled “Supported .ppk Versions”ZestSSH supports PPK version 2 and version 3 files. Both RSA and Ed25519 keys in .ppk format can be imported.
Limitation: Encrypted .ppk files require the correct passphrase at import time. If you have lost the passphrase, you will need to generate a new key pair.
Alternative: Convert with PuTTYgen
Section titled “Alternative: Convert with PuTTYgen”If you prefer to convert manually before importing:
- Open PuTTYgen.
- Load your
.ppkfile. - Go to Conversions > Export OpenSSH key.
- Save the file (e.g.
id_rsa). - Import the exported OpenSSH file into ZestSSH.
Migrating PuTTY Sessions
Section titled “Migrating PuTTY Sessions”PuTTY stores sessions in the Windows Registry under HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions. There is no built-in export, but you can extract session data.
Manual Method
Section titled “Manual Method”For each PuTTY saved session:
- Open PuTTY, load the session.
- Note the Host Name, Port, Connection type, and Auto-login username (under Connection > Data).
- In ZestSSH, create a connection with the same details.
- Assign the imported identity.
Registry Export Method
Section titled “Registry Export Method”For many sessions, export from the registry:
reg export "HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions" putty_sessions.regOpen the .reg file in a text editor. Each session block contains HostName, PortNumber, and UserName values. Use these to create connections in ZestSSH.
SSH Config Method
Section titled “SSH Config Method”If you also have an ~/.ssh/config file (from WSL, Git Bash, or Cygwin), import it directly:
- In ZestSSH, go to Settings > Import SSH Config.
- Select the config file.
- ZestSSH creates connections from each
Hostblock.
Desktop Workflow Mapping
Section titled “Desktop Workflow Mapping”PuTTY Window vs ZestSSH Tabs
Section titled “PuTTY Window vs ZestSSH Tabs”PuTTY opens a separate window per connection. ZestSSH uses tabs within a single window:
- Ctrl+T opens Quick Connect (equivalent to opening a new PuTTY window)
- Ctrl+W closes the current tab
- Ctrl+Tab / Ctrl+Shift+Tab cycles between tabs
- Ctrl+1 through Ctrl+9 jumps directly to a tab
Session Management
Section titled “Session Management”| PuTTY Action | ZestSSH Equivalent |
|---|---|
| Open new session | Ctrl+T (Quick Connect) or Ctrl+Shift+N (New Connection) |
| Duplicate session | Right-click tab > Duplicate (or connect to same host again) |
| Save session | Connections are saved automatically |
| Close session | Ctrl+W |
| Reconnect | Connect to the same saved connection |
Terminal Features
Section titled “Terminal Features”| PuTTY Feature | ZestSSH Equivalent |
|---|---|
| Copy (select text) | Select text, auto-copied (Copy on Select enabled by default) |
| Paste (right click) | Right-click pastes (enabled by default), or Ctrl+Shift+V |
| Find in scrollback | Ctrl+Shift+F opens search bar |
| Change font | Settings > Terminal Font Family (JetBrains Mono, Fira Code, etc.) |
| Change font size | Ctrl++ / Ctrl+- / Ctrl+0 (reset) |
| Fullscreen | F11 |
| Scroll back | Mouse wheel or scrollbar |
| Change colors | Settings > Terminal Theme |
| Logging | Session Transcripts |
Split Panes
Section titled “Split Panes”PuTTY has no split pane support. ZestSSH offers extensive pane management:
- Ctrl+Shift+D splits right
- Ctrl+Shift+E splits down
- Ctrl+\ closes the current split
- Ctrl+Alt+1 through 8 applies layout presets (side-by-side, grid, 1+2, etc.)
- Alt+Arrow keys navigates between panes
- Ctrl+Shift+M maximizes/restores the focused pane
Command Palette
Section titled “Command Palette”Press Ctrl+Shift+P to open the command palette --- a searchable list of every action available in ZestSSH. Type to filter: “connect”, “split”, “settings”, “broadcast”, etc. This replaces PuTTY’s menu-diving workflow.
WinSCP and SFTP
Section titled “WinSCP and SFTP”PuTTY is often paired with WinSCP for file transfers. ZestSSH includes a built-in SFTP panel on desktop:
- Ctrl+Shift+S opens an SFTP browser as a split pane beside your terminal.
- Browse the remote filesystem, upload, download, rename, and delete files.
- Drag and drop files from your desktop into the SFTP panel.
This eliminates the need for a separate WinSCP window.
Pageant and Agent Forwarding
Section titled “Pageant and Agent Forwarding”PuTTY uses Pageant as an SSH agent. ZestSSH manages keys internally:
- Keys are stored encrypted in the platform’s secure keychain.
- There is no need for a separate agent process.
- Agent Forwarding is a per-connection toggle in the connection editor. Enable it to let the remote server use your local keys for onward connections (e.g.
git pullover SSH on a server).
If you use Pageant for non-SSH-related workflows, it can continue running independently. ZestSSH does not conflict with Pageant.
PuTTY Features Not in ZestSSH
Section titled “PuTTY Features Not in ZestSSH”- Serial port connections via COM port: ZestSSH supports serial-over-SSH only, not direct COM port access. If you need direct serial COM port connections, you will need to continue using PuTTY or a dedicated serial terminal.
- Raw TCP connections: PuTTY’s “Raw” connection type is not directly available. ZestSSH supports SSH, Mosh, Telnet, and Local Shell.
- X11 forwarding UI: ZestSSH does not have an X11 forwarding toggle. You can enable it via SSH config on the server side.
- PuTTY’s “Change Settings” mid-session: ZestSSH’s terminal settings (font, colors) are global, not per-session. Changes apply to all terminals.
Additional ZestSSH Capabilities
Section titled “Additional ZestSSH Capabilities”Features you gain by moving from PuTTY:
- Mobile access: The same connections work on your Android/iOS devices with synced data.
- Cloud Sync: End-to-end encrypted sync across all your devices.
- Automation API: Trigger commands from Tasker, Shortcuts, or URL schemes.
- Connection health monitoring: See which servers are reachable at a glance.
- Broadcast mode (Ctrl+Shift+B): Type in one pane, input goes to all sessions. Useful for running the same command on multiple servers simultaneously.
- Workspace save/restore: Save your window layout, open connections, and pane arrangement as a named workspace. Load it later to restore your exact setup.
- System tray integration: Minimize to tray with active session count displayed.
- Dangerous command protection: Warns before you paste destructive commands (like
rm -rf /).
Quick Start for PuTTY Users
Section titled “Quick Start for PuTTY Users”- Install ZestSSH desktop from zestssh.com
- Import your
.ppkfiles as identities - Re-create your most-used connections (or import from SSH config)
- Learn three shortcuts: Ctrl+T (connect), Ctrl+Shift+P (command palette), Ctrl+W (close)
- Explore split panes with Ctrl+Shift+D