Dependency (Grails 2.X):

Dependency (Grails 3.X) :

compile "org.grails.plugins:jssh:3.0.2"

This plugin is a web based basic putty i.e. sshkey or username/password. It provides a variety of taglib calls that you can call from within your application to then interact with SSH connection(s) to Unix/Linux/OSx machines.

Once you have successfully configured connected. Your browser will provide something similar to a shell console and with the latter Websocket calls you can literally interact live with your SSH connection(s).

Otherwise you could add the following to your Config.groovy and any accounts generated from there on via the tool would have access to admin interface.
You could do this to start with then change the defaultperm="user"

jssh.defaultperm="admin"

In order to access admin interface you need to call this taglib :

<jssh:loadAdmin jsshUser="your_userId" />

If you have added the admin account via Config.groovy then the account is not generated as yet so you need to make an initial connection to create the user:

Once you have hit the initial start page and created that jssh account to match the same jsshUser as the admin account and have defined admin permission for the user, the admin interface will then come alive.

5> Specific user connection select boxes.

This is the component within admin menu that allows the end user to connect to a group of servers. It has been recreated as a taglib call so now you as the end user can define when/where your website users can choose to connect to a group of servers.

Most basic call with full access to all its features:

<jssh:connectUser
jsshUser="${session.username}"
/>

A more defined specific call with global broadcast and send blocks pers sever blocked, this also defines primary command to be run upon group selection: