SSH Terminal in SPanel
SPanel’s purpose is to make server management as user-friendly as possible. This doesn’t mean that it’s aimed at novices only, though. Our goal is to ensure that SPanel is just as convenient for seasoned website administrators as it is for complete newbies.
So, when some of our more technically advanced users requested an SSH terminal embedded inside SPanel’s User Interface, we had no choice but to implement it.
Today, we’ll show you how it works.
What is SSH?
Some may argue that you have no use for an SSH terminal if you don’t know what SSH is. The truth is, if you’re new to Linux, you need to learn a few commands in order to take advantage of SPanel’s new feature. That said, you don’t need to be a technical wizard.
First, let’s see how SSH works. Your SPanel VPS is a virtual machine with Rocky Linux installed on it. It doesn’t have a desktop environment, meaning there’s no point-and-click interface like the one you have on your home computer.
Instead, every task is done via commands. Thanks to SSH, you can execute commands on the server remotely and securely.
The name SSH stands for Secure Shell, and it’s a client-server network protocol. It was initially developed in the mid-1990s, and it uses complex public-key cryptography to protect the communication between a client computer and a remote server.
Over the years, it has found many applications, including as the core of SFTP – a secure version of the old file transfer protocol. However, its primary purpose (and the one website administrators use the most) is to allow users to open a shell on a remote machine and execute commands.
The question some people may be asking is: Why would I need to execute commands on my SPanel VPS?
Why Do People Want to Use SSH?
It may not sound like it to people who are used to working in a point-and-click environment, but commands can be extremely efficient.
Say, for example, that you want to make a backup of your public_html folder. After you log in via SSH, all you need to do is enter the following command:
cp -a public_html public_html.bak
With this single line, you tell the server to copy the contents of the public_html directory and paste it into a new folder called public_html.bak. In theory, you can perform the same operation using FTP or SPanel’s File Manager, but the process takes quite a bit more time.
This is just one example. Once you familiarize yourself with Linux’s basic commands, you’ll understand the syntax and appreciate just how big a time-saver the SSH terminal is.
WordPress users will want to check out WP-CLI – a command-line tool that lets you set up and manage your WP installations, plugins, themes, and even posts and pages with a few single-line commands.
How to Access a Server via SSH?
Traditionally, there are two methods for establishing an SSH session.
Through your operating system’s command-line shell
SSH has been supported by Unix-based operating systems like Linux and macOS for years. In 2018, Microsoft also implemented the protocol into Windows’ two command-line shells – Windows Command Prompt and PowerShell. To access your server, you need to enter a command that looks like this:
ssh [your username]@[your server’s IP]
Our SPanel VPSs use a custom SSH port, so if you’re trying to connect to them, you’ll need to add -p6543 to the command above.
Through a third-party client application
Although SSH is now natively supported by the most popular operating systems, some people prefer to use third-party client applications like PuTTY. The advantages vary from client to client, but you usually get support for multiple protocols, the ability to save session and login information, and, in the case of Windows users, the option to use key-based authentication.
SPanel users have a third method for logging in via SSH.
SPanel’s SSH Terminal
With SPanel, you now have a fully-functioning SSH terminal inside your browser. You can use the same commands and get the same results without additional tools.
The SSH terminal is inside SPanel’s User Interface, but before you open it, you need to ensure the user account has SSH access. To do that, log in to SPanel’s Admin Interface and select Manage SSH Access from the menu on the left.
You’ll see a list of all the user accounts on your VPS. You can use the toggle switches next to them to determine whether or not they can access the server via SSH.
By default, SSH access is disabled for all user accounts. From a security standpoint, it’s a good idea to enable it only when the user needs it.
The toggle switches control all SSH connections to the account, regardless of whether they’re from SPanel’s terminal or other clients and applications. The SSH terminal itself is available under the Tools section on the User Interface’s homepage.
You’ll see a classic command-line interface, and you can start entering commands right away. As you’ve already signed in with your account, further authentication is not required.
By integrating an SSH terminal straight into the User Interface, we’re enabling developers and experienced website administrators to manage their projects even more efficiently. At the same time, however, we’re introducing some of the less experienced users to a protocol that can become an integral part of their everyday workflow.
The learning curve is not as steep as you may think, and once you start to get the hang of it, you’ll see that the effort is definitely worth it.
Q: Where can I find SPanel’s SSH terminal?
A: SPanel’s SSH terminal is available under the Tools section in the User Interface. You can access the User Interface either via the Admin Area or through SPanel’s login page.
Q: Is the SSH terminal in SPanel any different from a typical SSH client?
A: No, it isn’t. SPanel’s SSH terminal receives the same commands and achieves the same results as any SSH client.
Q: Is the SSH terminal available to all SPanel users?
A: It’s up to the server owner to decide who has SSH access. The Manage SSH Access section in the Admin Area has a list of all active SPanel accounts with toggle switches next to them that allow or disallow users to access the command-line interface.