The Secure Shell (SSH) protocol allows users to connect remotely to a machine using encrypted communications. It’s normal to use this protocol to work in a network environment. In Fedora, you can use the default client for SSH connections, OpenSSH. OpenSSH is one client of many available and the most widely used. However, there are different clients available that provide different features to the user. This article introduces some alternative clients to OpenSSH and how you can get started using them.
As mentioned previously, OpenSSH is the default SSH client in Fedora. To connect to an SSH server, you can run the following command in a terminal window.
$ ssh <ip-address>
This will prompt you to connect to this IP address via the SSH protocol. Depending on the configuration of your server and client, it may ask for a password, passphrase, or another authentication method. If it’s your first time connecting to the remote machine, it will ask to add the machine to the
known_hosts file. This file is simply a record of public keys from servers you connect to. Whenever you connect to a machine again, it checks to make sure the public key has not changed (to prevent man-in-the-middle attacks).
This all works fine, but maybe you need more advanced features and want another client. The following are four alternative SSH clients that may better fit your needs.
Remmina is a remote desktop client that supports many protocols to connect to network machines. One of its better features is managing different connections in one client. The list of protocols that Remmina supports is fairly broad.
- RDP (Remote Desktop Protocol)
- VNC (Virtual Network Protocol)
One of the advantages of Remmina is that it allows you to maintain a list of connections from your history. There’s also a way to directly connect to a machine if you know the credentials already.
There are a handful of other useful features provided in Remmina. One feature is identity management. This allows you to configure each connection to work with just a double click, handling everything else for you. Pre-command is another popular one that allows you to set the environment before making each connection. A good feature that I used to use is the system tray icon to quickly access to your connections, preferences, and make new connections.
There are a few cons of Remmina. It doesn’t save logs to your system and doesn’t have personalization of the interface, character encoding, or post-execution scripts.
Remmina is written in GTK3+, meaning that it runs efficiently in GTK desktops like GNOME, LXDE, Cinnamon, Mate, Xfce, and others. It’s licensed under the GPLv2 license.
Remmina is packaged and readily available to use in Fedora. To install it, open up a terminal window and enter the following command.
$ sudo dnf install remmina
PuTTY is one of the older SSH clients in open source. It has many broad and powerful features included in it.
- SSH, telnet, and Rlogin support
- Saving sessions (list of connections)
- Quick configuration
- Configuration per session/connection
- Saves logs
- Allows connection to Non-POSIX servers
- Keyboard translations
- Serial connections
- X11 forwarding
- Interface personalization
One disadvantage to PuTTY is that it doesn’t allow tabs or window groups. Each connection is opened in a new window. Another missing feature is post-execution scripts, which are not allowed.
PuTTY is written in C and runs well in about every desktop environment. It’s licensed under the MIT license.
Also like Remmina, PuTTY is packaged in Fedora and can be installed with a new terminal window.
$ sudo dnf install putty
Originally written for Ubuntu, Perl Auto Connector (PAC) is a powerful tool to manage remote connections, especially SSH and telnet connections. Some of its main features include…
- Remote and local macros
- Remotely sending commands
- Cluster connections
- Scripting support
- Serial/TTY connection via cu/tip/remote-TTY connection
- Pre/post connections local executions
- Tabs or windows for connections
- Proxy support
- KeePass integration
- Wake-On LAN capabilities
- Possibility to split terminals in the same tab
- System tray menu icon
- Saves logs
The cons of PAC are more based in the Ubuntu integration, but now the developers are working on these. Its integration with non-GTK Desktops isn’t the best and the implementation of the “keep alive with key strokes” (sending a key to keep the connection working) fails in some non-POSIX connections.
It’s written in Perl and GTK and is licensed under the GPLv3.
Installing PAC Manager
PAC Manager is not packaged in the default Fedora repositories, so a few workarounds have to be used to install it. Since the project is hosted in SourceForge, you need to know the version number to download the latest version. Running the following commands will install all of the dependencies you need, and then download and install v18.104.22.168.
$ sudo dnf install perl-YAML uuid-perl perl-Gtk2-GladeXML perl-Crypt-CBC perl-Socket6 perl-Net-ARP perl-Gtk2-Ex-Simple-List perl-Crypt-Blowfish perl-Net-SSH-Expect perl-IO-Stty vte tigervnc rdesktop $ wget http://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-22.214.171.124-2.x86_64.rpm $ sudo rpm -ivh pac-126.96.36.199-2.x86_64.rpm
secpanel is not a client itself. It’s a front-end to manage connections to the OpenSSH client. Its main feature is managing connections and identities and selecting programs to run the connections (
kde-terminal, and others).
It lacks many features like saving logs and pre- / post-connection programs. It’s important to keep in mind that it is just front-end to managing connections, not a client itself.
It’s written completely in Tcl/Tk, making it compatible with any desktop. It’s also licensed under the GPLv3.
secpanel is not yet packaged in the default Fedora repositories, but there is work ongoing to bring it to Fedora. The project is currently available on SourceForge. It can be installed by entering the following commands in a new terminal window.
$ sudo dnf -y install tcl tk $ wget http://sourceforge.net/projects/secpanel/files/secpanel-0.6.1-1.noarch.rpm $ sudo rpm -ivh secpanel-0.6.1-1.noarch.rpm
Edited, Jul 13: A previous version of this article stated secpanel was available in Fedora’s repositories. This is not yet true, although there is work towards bringing it to Fedora.