How to access Yellowfin via 'localhost' on a remote machine by using SSH Port Forwarding

The UploadLicence.i4 can be very helpful sometimes, however it has a limitation in that it requires you to enter the Yellowfin URL on the actual application server (i.e. Yellowfin checks that the hostname in the URL is "localhost").

Sometimes this is not possible, for example because the application server is running on a headless Linux box.

In this situation then what you need to do is SSH port forwarding to "trick" Yellowfin into thinking it is running on localhost.

Here is an example of how to accomplish this on a windows box using PuTTY:

In this example Yellowfin is running on a remote headless linux box with the IP address 10.10.1.90 and the connection port is 8080.

1) In the main screen of PuTTY called "Session" you need to enter the remote machine's hostname or IP Address in the field called "Host Name (or IP address)"

2) Then in the Category section on the left side of PuTTY, go down to SSH and then choose Tunnels.

3) Choose a free port number that you will use on your local browser (don't forget, port numbers < 1024 are reserved for system calls). In this example we are using 6666. Enter that in the field called "Source port"

4) Then in the field called "Destination" enter "localhost:<Yellowfin port number>" which in our example is localhost:8080.

    The above 3 steps are illustrated in the following image:

   

5) Then just click the "Add" button and you will have created a new entry in the field called "Forwarded ports"

6) All that remains to be done now is to click the "Open" button to open the tunnel between your local windows box and the remote headless linux box. You will be prompted for the login credentials to the remote box, then when you have logged in the tunnel will be open and ready for you to use:

7) Now if you open a browser on your local windows box and enter:

http://localhost:6666/UploadLicence.i4

you will actually be running the following URL 

http://10.10.1.90:8080/UploadLicence.i4

but Yellowfin doesn't know that, it thinks the command is coming from the localhost.


Steps for Unix based systems (Linux/Mac)

Things are a bit more straight forward on these systems. Simply run this command in a terminal and you should be able to visit the UploadLicence page:

ssh -N -L SOURCE_PORT:127.0.0.1:TARGET_PORT USERNAME@REMOTE_IP

Like this

ssh -N -L 8090:127.0.0.1:9696 <username>@18.154.59.60

Now I can visit

http://localhost:8090/UploadLicence.i4

on a remote machine


Is this article helpful?
0 0 0