The Modern SSH Client & GUI Terminal

A free SSH client and GUI terminal for macOS, Windows, and Linux. Manage SSH connections, create tunnels, browse remote files, and share configurations — all in one secure app.

Also available for: macOS Windows Linux
macOS
Windows
Linux
50+
Supported File Types
8
Terminal Fonts
3
Platforms Supported

Everything You Need for SSH

A comprehensive suite of tools designed to make SSH connections effortless, secure, and productive.

🔗

SSH Connection Management

Store, organize, and manage all your SSH connections in one secure place.

  • Create & save unlimited connection profiles
  • Search connections by name, host, or username
  • Edit and update existing connections
  • Quick access to recent connections
  • Connection pagination for large lists
  • View detailed connection information
💻

Terminal & Sessions

Full-featured terminal emulation with multi-session support.

  • Multiple simultaneous SSH sessions
  • xterm.js-based terminal with ANSI support
  • Tab-based session management
  • Dynamic terminal resizing
  • Session history and status
  • Safe session disconnection
📁

Remote File Browser

Browse and manage files on your remote servers with ease.

  • Browse remote server directories
  • Multi-tab support for different servers
  • Detailed file information display
  • Quick navigation to home directory
  • Path history (back/forward)
  • Create, rename, delete files & folders
⬆️

File Transfers

Upload, download, and transfer files with real-time progress tracking.

  • Download remote files to local machine
  • Upload local files to remote server
  • Real-time transfer progress indicator
  • Transfer speed monitoring
  • Recursive directory operations
  • Batch file operations
✏️

Remote File Editor

Edit remote files directly in the app with syntax support for 50+ file types.

  • Edit remote files directly
  • Support for 50+ text file types
  • Auto-detect remote OS
  • Direct save to remote server
  • Unsaved changes warning
  • Fullscreen editor mode
🌐

SSH Tunneling

Create and manage local, remote, and dynamic port forwarding with ease.

  • Local port forwarding (ssh -L)
  • Remote port forwarding (ssh -R)
  • Dynamic SOCKS proxy (ssh -D)
  • Real-time tunnel status monitoring
  • Multiple tunnels per connection
  • Start/stop tunnels on demand
🔄

P2P Connection Sharing

Share SSH connection profiles securely with other devices.

  • Peer-to-peer networking
  • Share profiles with/without credentials
  • Automatic peer discovery
  • Encrypted P2P transfers
  • Accept/reject incoming shares
  • Real-time share notifications
🛡️

Secure Vault

All your credentials are encrypted and protected by a master password.

  • Encrypted credential storage
  • Master password protection
  • Lock vault when not in use
  • Change master password
  • Vault security settings
  • Backup & restore vault
🎨

Terminal Customization

Personalize your terminal with fonts, colors, and themes.

  • 8 beautiful monospace fonts
  • Adjustable font size (10-64px)
  • Custom text & cursor colors
  • Selection highlight colors
  • Light/dark mode support
  • Reset to defaults option
📋

Application Log Viewer

Built-in log viewer for troubleshooting and monitoring application activity.

  • View application logs on demand
  • Search logs by keyword
  • Filter by log level (ERROR, WARN, INFO, DEBUG)
  • Color-coded log entries
  • Clear logs from file and UI
  • Refresh logs on demand

Your Data, Protected

Enterprise-grade security features to keep your credentials and connections safe.

🔐

Encrypted Vault

All credentials are encrypted at rest using industry-standard encryption algorithms.

🔑

Master Password

Your vault is protected by a master password that only you know.

🔗

Encrypted P2P

All peer-to-peer transfers are encrypted end-to-end for secure sharing.

🗄️

Local Storage

All data is stored locally on your device — nothing is sent to external servers.

💾

Backup & Restore

Create encrypted backups of your vault and restore them when needed.

Powerful Terminal Emulation

Experience a full-featured terminal with xterm.js at its core. Support for ANSI colors, special characters, and all the features you expect from a modern terminal emulator.

ANSI color support Multiple sessions Tab management Session history Dynamic resize Custom fonts
💻

Seamless File Management

Browse, edit, and transfer files on remote servers as easily as on your local machine. Support for 50+ file types with syntax highlighting and direct editing capabilities.

Remote file browser 50+ file types Upload and download Progress tracking Direct editing Cross-platform
📁

Advanced SSH Tunneling

Create local and remote port forwarding tunnels with just a few clicks. Monitor tunnel status in real-time and configure auto-start for your most-used tunnels.

Local forwarding Remote forwarding Real-time status Auto-start Multiple tunnels Easy management
🌐

Edit Any Text File

Support for over 50 file types including code, config, and markup files.

{ }

Code Files

  • JavaScript / TypeScript
  • Python / Ruby / Go
  • Rust / C / C++
  • Java / Kotlin / Swift
⚙️

Config Files

  • JSON / YAML / TOML
  • XML / .env / .conf
  • nginx / Apache configs
  • Docker / Kubernetes
</>

Web Files

  • HTML / CSS / SCSS
  • React / Vue / Angular
  • Markdown / MDX
  • SVG files
$_

Shell Scripts

  • Bash / Zsh / Fish
  • PowerShell
  • Log files
  • Plain text

Getting Started

Learn how to set up your first SSH connection and start using Swavan SSH Studio.

1

Create Your Vault

When you first launch the app, you'll be prompted to create a master password. This password encrypts all your credentials.

💡 Choose a strong master password — it's the only password you need to remember!
2

Add Your First Connection

Click "New Connection" in the sidebar and fill in your server details:

Name: My Server
Host: 192.168.1.100 or myserver.com
Port: 22 (default SSH port)
Username: your_username
Auth: Password or Private Key
3

Connect to Your Server

Click on your saved connection to open a terminal session. You can open multiple sessions by clicking the connection again.

Right-click on a connection for quick actions like Edit, Delete, or Share.

SSH Tunneling Explained

Learn how to securely access remote services through SSH tunnels.

What is SSH Tunneling?

SSH tunneling (port forwarding) creates an encrypted connection between your local machine and a remote server, allowing you to securely access services that aren't directly exposed to the internet.

Your Computer localhost:5433
🔒 Encrypted SSH Tunnel
Remote Server postgres:5432
⬅️

Local Port Forwarding

Forward a port from your local machine to a service on the remote server or its network.

Use Case: Access a database running on your server from your local machine.
Local Port 5433 → Remote Host:5432
➡️

Remote Port Forwarding

Forward a port from the remote server back to a service on your local machine.

Use Case: Expose your local development server to the remote machine.
Remote Port 8080 → localhost:3000

How to Create a Tunnel

1

Navigate to Tunnels

Go to the Tunnels section in the sidebar, or click the tunnel icon on a connection card.

2

Create New Tunnel

Click "Add Tunnel" and configure your tunnel:

Connection: Select your SSH connection
Type: Local or Remote forwarding
Local Port: Port on your machine (e.g., 5433)
Remote Host: Target host (e.g., localhost)
Remote Port: Target port (e.g., 5432)
3

Start the Tunnel

Click the Start button to activate the tunnel. The status indicator will turn green when active.

💡 Enable "Auto-start" to automatically start this tunnel whenever you connect.
4

Use Your Tunnel

Connect to your local port as if the remote service was running locally:

# Example: Connect to PostgreSQL through tunnel psql -h localhost -p 5433 -U myuser -d mydb # Example: Access Redis through tunnel redis-cli -h localhost -p 6380

📝 Real-World Example: Access PostgreSQL on a Remote Server

Let's say you have a PostgreSQL database running on your server at port 5432, but it's not exposed to the internet for security reasons.

1. Create a tunnel: Local Port 5433 → Remote localhost:5432
2. Start the tunnel
3. Connect using: psql -h localhost -p 5433 -U postgres
🔒 Your database traffic is now encrypted through the SSH tunnel!

Sharing Connections

Securely share your SSH configurations with teammates or across devices.

Using the Terminal

Master the SSH terminal for efficient remote server management.

1

Starting a Session

Click on any saved connection to open a new terminal session. The connection will be established automatically.

Connected - Session is active
Connecting - Establishing connection
Disconnected - Session ended
2

Managing Multiple Sessions

Open multiple sessions by clicking the same or different connections. Each session opens in a new tab.

💡 Click the "+" button to quickly open another session to the same server.
3

Terminal Customization

Personalize your terminal in Settings → Terminal Preferences:

🔤
Font JetBrains Mono, Fira Code, Monaco, and more
📏
Font Size Adjustable from 10px to 64px
🎨
Colors Custom text, cursor, and selection colors
🌙
Theme Separate colors for light and dark mode
4

Disconnecting Safely

Click the X on the session tab or use the disconnect button. Running processes will be terminated.

⚠️ Use tmux or screen to keep processes running after disconnect.

File Management

Browse, transfer, and edit files on remote servers.

1

Opening the File Browser

Click the Explorer icon in the sidebar while connected to a server, or click the folder icon on a connection card.

2

Navigating Directories

Click folders to navigate, use the breadcrumb path, or click the home icon to go to your home directory.

3

Transferring Files

Upload and download files with real-time progress tracking:

⬆️
Upload

Click the upload button and select local files to transfer to the server.

⬇️
Download

Right-click a file and select "Download" to save it locally.

4

Editing Remote Files

Double-click any text file (up to 5MB) to open it in the built-in editor. Changes save directly to the server.

💡 The editor supports 50+ file types with syntax awareness!
5

File Operations

Right-click on files or folders for additional options:

📝 Rename 🗑️ Delete 📁 New Folder 📋 Copy Path

Linux Installation

Install and run Swavan SSH Studio on Linux using AppImage.

1

Download the AppImage

Download the latest .AppImage file from the GitHub Releases page. Choose x86_64 or aarch64 based on your CPU architecture.

💡 Not sure about your architecture? Run uname -m in a terminal to check.
2

Make it Executable

Open a terminal and run:

chmod +x swavan-ssh-studio_*.AppImage
3

Install FUSE (if needed)

AppImages require FUSE. Install it if you get errors when running the AppImage:

# Ubuntu 24.04+ / Debian (newer) sudo apt install libfuse2t64 # Ubuntu 22.04 / Debian (older) sudo apt install libfuse2 # Fedora sudo dnf install fuse-libs # Arch Linux sudo pacman -S fuse2
4

Run the Application

Double-click the AppImage file or run it from the terminal:

./swavan-ssh-studio_*.AppImage
5

NixOS Users

NixOS requires special configuration to run AppImages. Add this to your NixOS configuration:

# In your configuration.nix programs.appimage.enable = true; programs.appimage.binfmt = true;

Then rebuild:

sudo nixos-rebuild switch
💡 Alternatively, use nix-shell -p appimage-run --run "appimage-run ./swavan-ssh-studio_*.AppImage" without modifying your configuration.

Windows Firewall for P2P Sharing

Configure Windows Firewall to enable peer-to-peer connection sharing.

Why is this needed?

P2P sharing uses mDNS (UDP port 5353) for peer discovery and QUIC protocol for encrypted data transfer. Windows Firewall blocks these by default for apps without explicit exceptions. If P2P sharing is enabled but no peers are discovered, firewall rules are likely the cause.

1

Open PowerShell as Administrator

Right-click the Start menu and select "Windows Terminal (Admin)" or "PowerShell (Admin)".

2

Add mDNS Firewall Rule

Allow mDNS traffic for peer discovery:

New-NetFirewallRule -DisplayName "Swavan SSH Studio mDNS" ` -Direction Inbound -Protocol UDP ` -LocalPort 5353 -Action Allow
3

Add QUIC Firewall Rule

Allow QUIC protocol traffic for encrypted data transfer:

New-NetFirewallRule -DisplayName "Swavan SSH Studio QUIC" ` -Direction Inbound -Protocol UDP ` -LocalPort 1024-65535 -Action Allow ` -Program "C:\Program Files\Swavan SSH Studio\swavan-ssh-studio.exe"
⚠️ Adjust the program path if you installed the app in a different location.
4

Verify P2P Works

After adding the firewall rules:

🔄
Restart the App Close and reopen Swavan SSH Studio on both devices
📡
Enable P2P Go to Settings → General → P2P and enable sharing
🌐
Same Network Ensure both devices are on the same Wi-Fi or LAN
🔍
Discover Peers Try sharing a connection to verify it works
5

Removing Rules (Optional)

If you no longer need P2P sharing, remove the firewall rules:

Remove-NetFirewallRule -DisplayName "Swavan SSH Studio mDNS" Remove-NetFirewallRule -DisplayName "Swavan SSH Studio QUIC"

Tips & Tricks

Get the most out of Swavan SSH Studio with these power-user tips.

🔐

Security Best Practices

  • Use SSH keys instead of passwords when possible
  • Lock your vault when stepping away
  • Use strong, unique master password
  • Regularly backup your vault
  • Don't share credentials over insecure channels
🚀

Productivity Boosters

  • Set a landing path to start in a specific directory
  • Use descriptive connection names for easy search
  • Enable auto-start for frequently used tunnels
  • Open multiple file browsers in tabs
  • Use the home button for quick navigation
🔧

Troubleshooting

  • Connection timeout? Check firewall and SSH service
  • Authentication failed? Verify credentials and key permissions
  • Tunnel not working? Ensure the target service is running
  • P2P not discovering peers on Windows? Add firewall exceptions
  • AppImage not running? Install libfuse2 and check permissions
💡

Hidden Features

  • Double-click connection name to quick connect
  • Drag tabs to reorder them
  • Right-click for context menus everywhere
  • Use search to filter connections instantly
  • Theme automatically follows system preference
📱

Cross-Platform Tips

  • Backup works across all platforms
  • P2P sharing works on same network
  • Settings sync via backup/restore
  • Private keys work on all platforms
  • Tunnels work identically everywhere

Common Use Cases

🗄️

Database Access

Create a tunnel to access PostgreSQL, MySQL, or Redis running on your server from local database tools like DBeaver or TablePlus.

Tunnel: localhost:5433 → server:5432 Connect: psql -h localhost -p 5433
🌐

Web Service Access

Access internal web dashboards, admin panels, or APIs that are only available on the server's localhost.

Tunnel: localhost:8080 → server:3000 Open: http://localhost:8080
📊

Monitoring Access

Connect to Grafana, Prometheus, or other monitoring tools running on internal ports.

Tunnel: localhost:3001 → server:3000 Access Grafana at localhost:3001
🔄

Development Sync

Expose your local dev server to a remote machine for testing webhooks or mobile app development.

Remote Tunnel: server:8080 → localhost:3000 Access your local app from server

Ready to Simplify Your SSH Workflow?

Download Swavan SSH Studio today and experience the modern way to manage your SSH connections. Free to use.

Also available for: macOS Windows Linux