How to connect to MySQL server using port forwarding?

What is SSH Port Forwarding and How It Works?

SSH stands for Secure SHell and is typically used as an encrypted version of telnet. SSH allows you to access a remote server's shell without compromising security. In a telnet session all communications, including username and password, are transmitted in plain-text, allowing anyone with adequate resources to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SSH serves to prevent such vulnerabilities.

When a mysql client communicates with the MySQL server, all communication (with the exception of the user password) is done in plain text. What this means is that if an unscrupulous individual gets between your client and the server, they can have full access to all information transmitted. In order to protect your information you need to encrypt communications between the MySQL server and the GUI client.

SSH can be used to encrypt communications between the client and server. This is known as SSH port forwarding or SSH tunneling. One benefit of SSH port forwarding is that we can connect to a MySQL server from behind a firewall when the MySQL server port is blocked.

SSH will listen on a specified port on the client machine, encrypt the data it receives, and forward it to the remote SSH host on port 22 (the SSH protocol port). The remote SSH host will then decrypt the data and forward it to the MySQL server. The SSH host and the MySQL server do not have to be on separate machines, but separate SSH and MySQL servers are supported.
Requirements for SSH and MySQL

To perform port forwarding between a MySQL client application and the MySQL server, you will need a SSH login account for port forwarding. This account needs to either be located on the server running MySQL, or on a machine that can be accessed remotely via SSH and which in turn has network access to the MySQL server.
How to set up connection to remote MySQL server using SSH port forwarding
1. Double-click the "Add connection" icon on Task panel.
2. Enter the MySQL properties

In this example, we are specifying that port 3306 on your client machine should be forwarded to the remote server. If the port 3306 is already used (i.e. for local MySQL server), change the source port setting to any value > 1024. To check ports availability, start the Windows command line client and enter netstat -a.

When the remote SSH host is on a different machine than the MySQL server, replace 127.0.0.1 with the IP address of the MySQL server (relative to the SSH host). Never use "localhost" for hostname.

Note that the username and password used on this page are the values of your MySQL account and NOT SSH shell access
3. Set up SSH connection

MySQL port is a remote port that will be forwarded to the local port entered on previous page. All other values are your SSH shell access settings.
4. Click OK to Save settings.
5. Double-click the new connection to connect to remote MySQL server.
Troobleshooting

If you have never used SSH shell with this server before, you will be probably see a PuTTy security alert. Click Yes to update register registry keys. Wait for the timeout (30 s by default) and try again.
  • 0 משתמשים שמצאו מאמר זה מועיל
?האם התשובה שקיבלתם הייתה מועילה

מאמרים קשורים

What are cron jobs?

Cron jobs are routines that execute a script on any given interval. For instance, you may have a...

What are error pages?

Error pages are the pages displayed when a user tries to access a location on your site and...

How do I configure a cron job?

Login to cPanel. Locate and click on the "Cron Jobs" icon under the "Advanced" category....

What does Network Tools do?

Network Tools enables you to query a domain and retreieve relevant information about that domain....