19 Open-source and Free SSH Clients for Windows, Linux, and macOS

19 Open-source and Free SSH Clients for Windows, Linux, and macOS

An SSH client, also known as Secure Shell client, is a software application that allows users to securely connect to remote servers or devices using the SSH protocol. SSH, which stands for Secure Shell, is a cryptographic network protocol that provides secure communication between two systems over an unsecured network.

SSH clients provide a secure way to access and manage remote servers or devices. They encrypt the communication between the client and the server, ensuring that sensitive information such as passwords or data is protected from eavesdropping or unauthorized access.

There are several use-cases for SSH clients. One common use is for remote server administration. System administrators can use SSH clients to securely access and manage servers, perform administrative tasks, and troubleshoot issues from a remote location. SSH clients also enable secure file transfers between local and remote systems, allowing users to securely copy files to or from a remote server.

The benefits of using an SSH client include enhanced security, as the SSH protocol provides strong encryption for data transmission and authentication. SSH clients also offer flexibility and convenience by enabling remote access to servers or devices from anywhere with an internet connection.

16 Open-source, Free FTP File Manager for Windows, Linux, and macOS
FTP File Manager is a software application that allows users to manage and transfer files between a local computer and a remote server using the File Transfer Protocol (FTP). It provides a user-friendly interface that simplifies the process of uploading, downloading, deleting, and organizing files on an FTP server. Benefits

Additionally, SSH clients often support features such as key-based authentication, session multiplexing, and port forwarding, enhancing the usability and versatility of the client.

Overall, SSH clients play a crucial role in secure remote access and administration, providing a reliable and encrypted connection for managing remote systems and facilitating secure file transfers.

Here are the best open-source SSH clients:

1- PuTTY

PuTTY is a popular SSH client that provides a secure and reliable way to connect to remote servers or devices using the SSH protocol. It is a free and open-source software application that is widely used in the Windows operating system.

PuTTY offers a user-friendly interface and supports various SSH features, making it a versatile tool for remote server administration and file transfers. It allows users to securely log in to remote systems, execute commands, manage files, and perform administrative tasks.

In addition to SSH, PuTTY also supports other protocols such as Telnet, SCP, and SFTP, providing users with a comprehensive solution for remote access and file transfers.

One of the key advantages of PuTTY is its portability. It does not require installation and can be run directly from a USB drive or other portable storage devices, making it convenient for users who need to access remote systems from different computers.

Overall, PuTTY is a reliable and widely-used SSH client that offers secure and convenient remote access to servers or devices. Its flexibility, portability, and support for various protocols make it a popular choice among users in the Windows environment.

PuTTY: a free SSH and Telnet client

2- Tabby

Tabby Terminal is a modern and feature-rich terminal emulator and SSH client. It provides a user-friendly interface and a wide range of functionalities for secure remote access and management of servers or devices.

As an SSH client, Tabby Terminal allows users to establish secure SSH connections to remote systems using the SSH protocol. It provides strong encryption for data transmission, ensuring the confidentiality and integrity of the communication.

Tabby Terminal offers a tabbed interface, allowing users to open multiple SSH sessions in separate tabs, making it easy to manage and switch between different remote connections. It also supports various SSH features such as key-based authentication, port forwarding, and session management.

In addition to SSH, Tabby Terminal supports other protocols like Telnet and serial connections, providing users with a versatile toolset for different types of remote access.

Tabby Terminal is designed to be highly customizable, allowing users to personalize their terminal environment according to their preferences. It supports different color schemes, fonts, and layouts, enabling users to create a comfortable and visually appealing working environment.

Features

  • Integrated SSH and Telnet client and connection manager
  • Integrated serial terminal
  • Theming and color schemes
  • Fully configurable shortcuts and multi-chord shortcuts
  • Split panes
  • Remembers your tabs
  • PowerShell (and PS Core), WSL, Git-Bash, Cygwin, MSYS2, Cmder and CMD support
  • Direct file transfer from/to SSH sessions via Zmodem
  • Full Unicode support including double-width characters
  • Doesn't choke on fast-flowing outputs
  • Proper shell experience on Windows including tab completion (via Clink)
  • Integrated encrypted container for SSH secrets and configuration
  • SSH, SFTP and Telnet client available as a web app (also self-hosted).
GitHub - Eugeny/tabby: A terminal for a more modern age
A terminal for a more modern age. Contribute to Eugeny/tabby development by creating an account on GitHub.

3- File centipede

File centipede is an All-In-One internet file upload/download manager, BitTorrent Client, WebDAV client, FTP client, and SSH client.

It is designed to be fast, customizable, and user-friendly.

It supports multi-protocols and contains many useful auxiliary tools such as HTTP requester, file merge, and encoders.

With the browser integration, you can download audio and videos from websites, even encrypted videos.

GitHub - filecxx/FileCentipede: Cross-platform internet upload/download manager for HTTP(S), FTP(S), SSH, magnet-link, BitTorrent, m3u8, ed2k, and online videos. WebDAV client, FTP client, SSH client.
Cross-platform internet upload/download manager for HTTP(S), FTP(S), SSH, magnet-link, BitTorrent, m3u8, ed2k, and online videos. WebDAV client, FTP client, SSH client. - GitHub - filecxx/FileCent…

4- Bastillion

Bastillion is a web-based SSH console that centrally manages administrative access to systems. It combines web-based administration with user's public SSH key management. Key management and administration are based on user profiles.

Administrators can login using two-factor authentication with Authy or Google Authenticator. They can manage their public SSH keys and connect to systems through a web-shell. Commands can be shared across shells to simplify patching and eliminate duplicate command execution.

Bastillion adds TLS/SSL on top of SSH and acts as a bastion host for administration. This ensures that infrastructure cannot be exposed through tunneling/port forwarding.

More details can be found in the whitepaper: Implementing a Trusted Third-Party System for Secure Shell. SSH key management is enabled by default to prevent unmanaged public keys and enforce best practices.

GitHub - bastillion-io/Bastillion: Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user’s public SSH keys.
Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys. -…

5- SSHJ

This is not an app rather than a Java Library to manage SSH, SCP, and SFTP for Java apps.

GitHub - hierynomus/sshj: ssh, scp and sftp for java
ssh, scp and sftp for java. Contribute to hierynomus/sshj development by creating an account on GitHub.

6- Remmina remote desktop client

This is a remote desktop client that support several protocols including RDP, VNC, SPICE, X2Go, SSH, WWW (HTTP protocol) and EXEC network.

Features

  • Remember last view mode for each connection
  • Double-click configuration
  • Scale quality
  • Auto scroll step size
  • Maximal amount of recent items
  • Keystrokes
  • Screenshot folder
  • Screenshot filename
  • Prevent screenshots from entering clipboard
  • Configure resolutions
  • Send periodic usage statistics to Remmina developers (opt-In)
  • Tabs configuration
  • Toolbar visibility
  • Default view mode
  • Fullscreen behaviour configuration
  • Search bar in the main window
  • Tray icon
  • Dark tray icon
  • SSH tunnel local port
  • Parse ~/.ssh/config
  • SSH log level
  • Terminal font
  • Scrollback lines
  • Default colour Scheme
GitHub - FreeRDP/Remmina: Mirror of https://gitlab.com/Remmina/Remmina The GTK+ Remmina Remote Desktop Client
Mirror of https://gitlab.com/Remmina/Remmina The GTK+ Remmina Remote Desktop Client - GitHub - FreeRDP/Remmina: Mirror of https://gitlab.com/Remmina/Remmina The GTK+ Remmina Remote Desktop Client

7- Golang SSH Client

This is an SSH client for Go Lang app that allows you to execute commands remotely over SSH.

GitHub - melbahja/goph: 🤘 The native golang ssh client to execute your commands over ssh connection. 🚀🚀
🤘 The native golang ssh client to execute your commands over ssh connection. 🚀🚀 - GitHub - melbahja/goph: 🤘 The native golang ssh client to execute your commands over ssh connection. 🚀🚀

8- KiTTY

KiTTY is a fork from version 0.76 of PuTTY, the best telnet / SSH client in the world. KiTTY is only designed for the Microsoft(c) Windows(c) platform.

Features:

  • Sessions filter
  • Portability
  • Shortcuts for pre-defined command
  • The session launcher
  • Automatic logon script
  • Automatic logon script with the RuTTY patch
  • URL hyperlinks
  • An icon for each session
  • Send to tray
  • Transparency
  • Protection against unfortunate keyboard input
  • Roll-up
  • Always visible
  • Quick start of a duplicate session
  • Enhanced Configuration Box
  • Automatic saving
  • SSH Handler: Internet Explorer integration
  • pscp.exe and WinSCP integration
  • Binary compression
  • Clipboard printing
  • Cygwin and cmd.exe integration
  • File association
  • Other settings
  • New command-line options
GitHub - cyd01/KiTTY: :computer: KiTTY, a free telnet/ssh client for Windows
:computer: KiTTY, a free telnet/ssh client for Windows - GitHub - cyd01/KiTTY: :computer: KiTTY, a free telnet/ssh client for Windows

9- SSB

Secure Shell Bruteforcer — A faster & simpler way to bruteforce SSH server.

GitHub - pwnesia/ssb: Secure Shell Bruteforcer — A faster & simpler way to bruteforce SSH server
Secure Shell Bruteforcer — A faster & simpler way to bruteforce SSH server - GitHub - pwnesia/ssb: Secure Shell Bruteforcer — A faster & simpler way to bruteforce SSH server

10- SSH-MITM

ssh man-in-the-middle (ssh-mitm) server for security audits supporting publickey authentication, session hijacking and file manipulation.

Password and publickey authentication are supported and SSH-MITM is able to detect, if a user is able to login with publickey authentication on the remote server. This allows SSH-MITM to accept the same key as the destination server. If publickey authentication is not possible, the authentication will fall back to password-authentication.

When publickey authentication is possible, a forwarded agent is needed to login to the remote server. In cases, when no agent was forwarded, SSH-MITM can redirect the session to a honeypot.

GitHub - ssh-mitm/ssh-mitm: ssh mitm server for security audits supporting public key authentication, session hijacking and file manipulation
ssh mitm server for security audits supporting public key authentication, session hijacking and file manipulation - GitHub - ssh-mitm/ssh-mitm: ssh mitm server for security audits supporting public…

11- termscp

Termscp is a feature rich terminal file transfer and explorer, with support for SCP/SFTP/FTP/S3. So basically is a terminal utility with an TUI to connect to a remote server to retrieve and upload files and to interact with the local file system. It is Linux, macOS, FreeBSD, NetBSD and Windows compatible.

Features

  • Different communication protocols: SFTP, SCP, FTP, FTPS, S3, and SMB.
  • 🖥 Explore and operate on the remote and on the local machine file system with a handy UI
  • Create, remove, rename, search, view and edit files
  • ⭐ Connect to your favourite hosts through built-in bookmarks and recent connections
  • 📝 View and edit files with your favourite applications
  • 💁 SFTP/SCP authentication with SSH keys and username/password
  • 🐧 Compatible with Windows, Linux, FreeBSD, NetBSD and MacOS
  • 🎨 Make it yours!
  • Themes
  • Custom file explorer format
  • Customizable text editor
  • Customizable file sorting
  • and many other parameters...
  • 📫 Get notified via Desktop Notifications when a large file has been transferred
  • 🔭 Keep file changes synchronized with the remote host
  • 🔐 Save your password in your operating system key vault
  • 🦀 Rust-powered
  • 👀 Developed keeping an eye on performance
  • 🦄 Frequent awesome updates
GitHub - veeso/termscp: 🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3/SMB
🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3/SMB - GitHub - veeso/termscp: 🖥 A feature rich terminal UI file transfer and explorer with support for SCP…

12- IAP Desktop

IAP Desktop is a Windows application that provides zero-trust Remote Desktop and SSH access to Linux and Windows VMs on Google Cloud.

GitHub - GoogleCloudPlatform/iap-desktop: IAP Desktop is a Windows application that provides zero-trust Remote Desktop and SSH access to Linux and Windows VMs on Google Cloud.
IAP Desktop is a Windows application that provides zero-trust Remote Desktop and SSH access to Linux and Windows VMs on Google Cloud. - GitHub - GoogleCloudPlatform/iap-desktop: IAP Desktop is a W…

13- WOLFSSH

wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP.

GitHub - wolfSSL/wolfssh: wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP.
wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP. - GitHub - wolfSSL/wolfssh: wolfSSH is a small, fast, portable SSH implementation, including support for S…

14- hss

hss is an interactive ssh client for multiple servers. It will provide almost the same experience as in the bash environment.

It supports:

  • interactive input: based on libreadline.
  • history: responding to the C-r key.
  • auto-completion: completion from remote server on the tab key, for commands and paths.

Command is executed on all servers in parallel. Execution on one server does not need to wait for that on another server to finish before starting. So we can run a command on hundreds of servers at the same time.

GitHub - six-ddc/hss: An interactive parallel ssh client featuring autocomplete and asynchronous execution.
An interactive parallel ssh client featuring autocomplete and asynchronous execution. - GitHub - six-ddc/hss: An interactive parallel ssh client featuring autocomplete and asynchronous execution.

15- electerm

This is an open-sourced terminal/ ssh/t elnet/ serialport/ sftp client for Linux, macOS, and Windows.

GitHub - electerm/electerm: 📻Terminal/ssh/telnet/serialport/sftp client(linux, mac, win)
📻Terminal/ssh/telnet/serialport/sftp client(linux, mac, win) - GitHub - electerm/electerm: 📻Terminal/ssh/telnet/serialport/sftp client(linux, mac, win)

16- ConnectBot (Android)

ConnectBot is a Secure Shell client for Android that lets you connect to remote servers over a cryptographically secure link.

GitHub - connectbot/connectbot: ConnectBot is the first SSH client for Android.
ConnectBot is the first SSH client for Android. Contribute to connectbot/connectbot development by creating an account on GitHub.

17- WebSSH

This is a simple web application to be used as an ssh client to connect to your ssh servers. It is written in Python, base on tornado, paramiko and xterm.js.

Features

  • SSH password authentication supported, including empty password.
  • SSH public-key authentication supported, including DSA RSA ECDSA Ed25519 keys.
  • Encrypted keys supported.
  • Two-Factor Authentication (time-based one-time password) supported.
  • Fullscreen terminal supported.
  • Terminal window resizable.
  • Auto detect the ssh server's default encoding.
  • Modern browsers including Chrome, Firefox, Safari, Edge, Opera supported.
GitHub - huashengdun/webssh: :seedling: Web based ssh client
:seedling: Web based ssh client. Contribute to huashengdun/webssh development by creating an account on GitHub.

18- WebSSH2

Web SSH Client using ssh2, socket.io, xterm.js, and express

A bare bones example of an HTML5 web-based terminal emulator and SSH client. We use SSH2 as a client on a host to proxy a Websocket / Socket.io connection to a SSH2 server.

GitHub - billchurch/webssh2: Web SSH Client using ssh2, socket.io, xterm.js, and express. webssh webssh2
Web SSH Client using ssh2, socket.io, xterm.js, and express. webssh webssh2 - GitHub - billchurch/webssh2: Web SSH Client using ssh2, socket.io, xterm.js, and express. webssh webssh2

19- SSHClient

This is a small SSH client written in C#.

GitHub - skahwah/SSHClient: A C# SSH client
A C# SSH client. Contribute to skahwah/SSHClient development by creating an account on GitHub.






Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+