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.
Using OpenSSH
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
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
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)
- telnet
- SSH
- NX
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.
Installing Remmina
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
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
- Identitymanagement
- 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.
Installing PuTTY
Also like Remmina, PuTTY is packaged in Fedora and can be installed with a new terminal window.
$ sudo dnf install putty
PAC Manager
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 v4.5.5.7.
$ 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-4.5.5.7-2.x86_64.rpm $ sudo rpm -ivh pac-4.5.5.7-2.x86_64.rpm
secpanel
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 (
,
, 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.
Installing secpanel
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.
Daniel
You’re missing mobile shell/ (mosh). It’s built to be resilient and be able to reestablish connections without looaing the session if you’re in an environment with unstable networking or even changing IP addresses. Definitely worth mentioning!
Mace Moneta
Mosh is awesome on mobile devices. The major highways here are lined with WiFi from the cable companies, and mosh lets me maintain a session while riding (as a passenger) down the road, even though I’m switching from accesspoint to accesspoint.
However, mosh isn’t an ssh client; it uses ssh to establish a connection, then switches to UDP over its own ports.
Erik
I love clusterssh to run multiple (open)ssh sessions in parallel.
Ian: “We are in a hurry with this project, you know. We can ask the cloud managers, may be they can clone the first machine so you do not have to do the whole setup again”
Me: “It’s already done, I installed all 10 machines in parallel with clusterssh”
Mace Moneta
Dropbear is very popular in minimal installs as well, and it’s in the Fedora repositories. To get the complete list of ssh related packages,
dnf search ssh
Matthew
cssh for the win here as well. Also use fabric and ansible for more than 20 servers.
Anton
Thank you very much! Remmina is very usefull soft that I searched
Andy
Application reviews on Fedora Magazine should include information about how applications appear/function in a HiDPI environment. For example the GUI for secpanel is written in Tk, which doesn’t scale for HiDPI screens. Remmina, which uses GTK3, looks great on my Dell XPS 13.
I’m not criticizing secpanel or Tk, but they don’t work well on high resolution monitors. This could be an important consideration for some readers and is something you can’t really show in a screenshot.
Jim Priest
Was using cssh but recently switched to tmux-cssh (https://github.com/dennishafemann/tmux-cssh) I wasn’t fond of how cssh popped open multiple windows.
tmux-cssh keeps everything in one terminal. I’m still tweaking things but so far I like it!
Mic Fens
I tried remmina based on the feedback here. Most of what I would use it for is ssh, and remmina’s ssh client is totally broken (https://github.com/FreeRDP/Remmina/issues/899) in Fedora 24. I’ll have a look when it actually works.
Erik
Maybe I am missing or misunderstanding something, but neither my fedora 23 nor fedora 24 machines up secpanel.
I tried both:
dnf install secpanel
and
dnf search secpanel
without success.
Thanks,
Erik
Bryan
I’ve had the same result here. A search of the Fedora Package Database shows no packages either current, retired or orphaned.
OP: Are you able to verify how you installed secpanel?
Cheers,
Bryan
Justin W. Flory
Hey, thanks for catching this! This was a mistake in the article and has since been corrected.
enthunime
Batch
x3mboy
mosh is not a ssh client, it’s a new shell, use its own protocol to comunicate, require its own server. It’s a great tool, but it doesn’t fit in this category. I will cssh (clusterssh is the package name), and Remmina is working fine with SSH on F23, I need to check what’s its status on Final Release of F24.
Thanks for your feedback!