Table of contents of the article:
Since we have been working as systems engineers, in a standard 8-hour working day, we lose at least 3 hours organizing the migration of sites from old hosting providers to our infrastructure.
Among the various customers, we find the dissatisfied one with the old hosting provider, the one that comes from Amazon AWS and wants to save important monthly figures, what he wants to optimize i Core Web Vitals, the one that is penalized by Google because it is too slow, curious, time wasters, friends of friends, companies, companies, joint stock companies, corporations and multinationals.
Regardless of who the customer is, the most frustrating part of the web-oriented sysadmin job is onboarding new customers. Frustration is inevitable when, to remedy a simple and trivial operation such as transferring data from the old server to the new server perhaps via a very convenient rsync over SSH, here is that the outgoing supplier (the old one) to make your life more difficult and try to keep the customer, forbids you SSH access, boasting security reasons why SSH is not allowed, and indeed is firewalled.
There are Hosting providers who come up with the most absurd reasons, leaving you at the mercy of a very slow FTP server or to the various backup procedures of scracuse, old obsolete panels, the cause and origin of all evil, such as Plesk and cPanel.
Even when you have to transfer 100 Gigabytes of files, distributed in millions of files. 1 hour transfer with Rsync, full days with FTP.
We've had cases where 800GB of data had to be transferred from the old server to the new one and ended up having to hack through an X server to be able to use the shell as if the hosting provider had given it to us.
Of course, before the "hack" actually all processes were running perfectly with user privileges, so same UID and GID, and no escalation to root or other users other than authorized ones, we asked and had them ask in every possible way for the possibility of having SSH access with a non-privileged user. From serene e-mails, to cordial phone calls, unofficial mails, formal mails, threats of damages from the lawyer, situations of this type, in which the Hosting company on duty responded with the contract stipulated 10 years earlier, in which the paragraph number, it was explained that SSH access was not allowed for security reasons.
Too bad that the site had started 10 years earlier with 5 Gigabytes of space and today they are at 800.
Easy to pull down 5 Gigabytes of data using Plesk's backup wizard utility or cPanel, a little less to do it with 800GB since there wouldn't even be enough disk space to produce the tar.gz archive that these panels scare for amateurs produce, instead of copying directly to the target server.
Unthinkable to make such a transfer with FTP or lftp, not even with parallels of 50 simultaneous processes.
Therefore, we wanted to write this post with the technical answer to the most common objections that incapable systems engineers usually foist on their customers when they refuse to facilitate the migration to a new supplier.
SSH is not provided for security reasons
Hosting providers often do not provide SSH (Secure Shell) access to their users for security reasons. SSH is a protocol that allows you to establish a secure connection between two systems, usually between a client and a server, and to execute commands remotely.
A major concern for hosting providers is ensuring the security of their systems and their users' data. SSH access can be a potential security risk, as it can be used by malicious users to gain unauthorized access to systems or to perform malicious actions.
To protect their systems, hosting providers often decide not to provide SSH access to users and instead offer other tools, such as a control panel or web interface, to manage their sites and servers. This way, users can still perform basic administration tasks without running the risk of compromising system security.
In addition, hosting providers often offer technical support services to help users manage their sites and servers by providing them with all the information and tools they need. This way, users can get the support they need without having to use SSH access.
This reasoning could be considered valid if it weren't for the fact that regardless of the SSH access that could have been provided to the customer, it would still have been of a non-administrative type (non-root) and that regardless of the much-vaunted security, the same hosting providers who do not grant you SSH are then the same to guarantee access to FTP (and not Secure FTP) with clear passwords.
If we also take into consideration that SSH access could be on a different port than SSH and linked to a static IP to be opened on the firewall, it is easy to understand that a categorical refusal of SSH access even on a different port has a completely different motivation rather than the much vaunted safety motivation.
Clear and unencrypted FTP is provided as standard.
FTP (File Transfer Protocol) was one of the first systems used to transfer files from one system to another. However, as the years have gone by and online security risks have increased, it has become less and less secure to use FTP for file transfers.
One major concern with FTP is that login information, such as username and password, is sent in the clear during the connection. This means that if an attacker manages to intercept this information, he can gain unauthorized access to files transmitted via FTP.
A more secure alternative to FTP is Secure File Transfer Protocol (SFTP), which uses encryption to protect login information and files during transfer. This makes it much more difficult for malicious users to gain unauthorized access to files transmitted via SFTP.
Additionally, SFTP offers a number of other security features, such as two-factor authentication and the ability to set access permissions for each file or folder.
The real reasons why SSH access is not granted
Hosting providers may deny SSH access to make it more difficult for a website to be migrated to another hosting provider. SSH (Secure Shell) access is a network protocol used to securely manage and control remote servers. It allows you to execute commands and transfer files over an encrypted connection.
SSH access can make moving a website to another server much easier and faster, especially using the Linux “rsync” utility. Rsync is a tool that allows you to synchronize files and directories between different computers, so you always have the same copies of files on both systems. Rsync is much faster than a File Transfer Protocol (FTP) transfer because it transfers only the files that have changed, rather than transferring all the files each time.
In addition, SSH access allows you to execute commands directly on the server, which can be very useful for managing and maintaining the website. For example, you can use commands like "mysqldump" to export your website database, or use "tar" to create an archive of your website files.
In summary, SSH access can make migrating a website to another server much easier and faster, but some hosting providers may deny this functionality to make migrating to another provider more difficult.
How this affects the life of Hosting providers and costs to end customers.
The difficulty of transferring a website from one vendor to another due to lack of SSH access can take much longer than a transfer with SSH access. This can lead to additional costs, especially if the site transfer takes a long time or if you need to use alternative methods, such as FTP transfer or manual file download and upload.
Also, in some cases, hosting providers may charge additional fees for migrating a website without SSH access. This may be because the transfer process becomes more complex and requires more time and resources to complete.
In summary, lack of SSH access can make migrating a website from one vendor to another more difficult and costly. It is important to consider this factor when choosing a hosting provider and check if they offer SSH access, as it could save you time and money in the future.