SFTP and FISH Protocols for Accessing Jelastic Containers via SSH

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

We have previously presented information about SSH access to the Jelastic Cloud and its features:

  • SSH Gateway as a new infrastructure component
  • Key generation and adding to a Jelastic account
  • SSH access to the container itself

In this post, we’d like to pay attention to some additional ways of accessing your Jelastic containers via SSH, namely using SFTP (SSH File Transfer Protocol) and FISH (Files transferred over Shell protocol) protocols. These protocols let you perform various file management operations (accessing, transferring, etc.) over the secure channel.

We provide support of SFTP (Secure File Transfer Protocol) by implementing the threaded daemon for SFTP connections processing. It lets you access, manage and transfer files directly to the container via SSH gateway, and in such a way, ensures data security.

FISH protocol (Files transferred over Shell protocol) is supported by a number of popular FTP-clients and file managers (e.g. Midnight Commander, Konqueror, lftp, Krusader, etc). It permits access to securely manage a container’s file system.

And now, let’s see some examples of using these protocols.

SFTP Protocol

To access a necessary container via SFTP protocol, you need to have a private key on your local machine which corresponds to the public SSH key previously added to the Jelastic account.

For Linux/MacOS users, this private key is saved automatically during key generation.

If you are a Windows user, you should additionally save the private key which corresponds to your public SSH key (we use the PuTTYgen tool as an example):

save private key

Now, we can proceed to establishing the SFTP connection.

1. Run your FTP-client with SFTP protocol support.

We use FileZilla as an example, therefore, navigate to the Edit > Settings menu item.

edit settings

2. In the opened window, navigate to the SFTP section.

Select the Add keyfile button and choose your previously saved private SSH key.

Click OK.filezilla private key

3. After that, navigate to the File > Site Manager menu item.

site manager

4. In the opened window, click the New site button and specify the following parameters:

  • in the Host field state your SSH host (gate.{hoster_domain})
  • in the Port field enter 3022 value.
  • choose SFTP in the Protocoldrop-down list.
  • choose Normal Logon Type.
  • in the User field, enter the Node ID of the desired container (can be seen in the particular environment’s containers list in the separate nodeid column via SSH console) and your User ID (number before @ symbol in your SSH connection string) separated with a hyphen.

Finally, click the Connect button.

filezilla settings

5. After connection is established, you’ll see the list of container’s folders in the appropriate frames:

remote siteThat’s all! Now you can proceed to managing and transferring your application’s files over the secure channel.

FISH Protocol

Let’s look at the example of FISH protocol usage via establishing a secure connection between a remote container and the Midnight Commander tool.

1. Firstly, ensure you have a private key on your local machine which corresponds to the public SSH key previously added to the dashboard.

The default path will be  /home/<username>/.ssh/id_rsa or /home/<username>/.ssh/id_dsa file, depending on the key pair type you’ve generated.

2. Check the ownership and attributes of your private key by entering one of the following commands:

  • for RSA key

ls -la  /home/<username>/.ssh/id_rsa

  • for DSA key

ls -la  /home/<username>/.ssh/id_dsa

Ownership should be stated as your username and attributes should be 400 or 600. I.e. your private key should not be available for reading by other users, otherwise a connection will not be established.

3. Install and run your Midnight Commander.

4. Select F9 to show the menu toolbar. Then open the left or right panel’s menu and choose Shell link item.

mc1

5. In the opened Shell link to machine frame, enter the following values separated with a hyphen:

  • Node ID of the desired container (can be seen in the particular environment’s containers list in the separate nodeid column via SSH console)
  • your SSH connection string ( {user_id}@{ssh_host}:3022 )

Click OK.mc2

6. When a connection is established, you will see the container’s file structure in the appropriate panel (in our case, on the right).

mc3

Now, you can securely manage your container’s file system using RSH commands. Enjoy!

Conclusion

Using SFTP and FISH protocols you get fully secure file management directly in your containers. You can benefit with extremely fast file transfers and granular access control. Test it out to see all of the advantages of SSH access to the Jelastic Cloud.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

Leave a Reply

Subscribe to get the latest updates