Bug 17694 - gateone, GateOne is a web-based Terminal Emulator and SSH client that brings the power of the command line to the web
Summary: gateone, GateOne is a web-based Terminal Emulator and SSH client that brings ...
Status: RESOLVED WONTFIX
Alias: None
Product: Mageia
Classification: Unclassified
Component: New RPM package request (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: All Packagers
QA Contact:
URL: https://github.com/liftoff/GateOne
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-05 19:57 CET by Xuo
Modified: 2020-07-14 19:57 CEST (History)
2 users (show)

See Also:
Source RPM: gateone
CVE:
Status comment:


Attachments

Description Xuo 2016-02-05 19:57:08 CET
Hi,

I tried to install the GateOne software from the sources but I have python errors I don't know how to solve.
I tried with shellinabox but I can't compile it from sources neither.
Then I ask for a new GateOne package if it is possible for the developpers to add it in the next Mageia release (or ideally in the Mageia 5 one).

Regards.

Xuo.
Comment 1 Marja Van Waes 2016-02-06 12:28:43 CET
Hi Eric,

Please read 
https://wiki.mageia.org/en/Comment_signaler_un_bogue_correctement-fr#Comment_demander_.C3.A0_ce_qu.27un_logiciel_apparaisse_dans_les_d.C3.A9p.C3.B4ts_Mageia_.3F

And give the link to the upstream source code in the URL: field + add a short description of the application to the summary

In the past, I've used different applications that had exactly the same name, so it is really better if you give the link to the upstream source code instead of letting us look for it.

(If it gets packaged for Cauldron, you can then reopen this report to request to backport it to Mga5, in case that can be done)

Severity: normal => enhancement
Summary: Creating GateOne package => gateone, GateOne <add short description here>
Source RPM: (none) => gateone
Keywords: (none) => NEEDINFO
CC: (none) => marja11
Hardware: i586 => All
Version: 5 => Cauldron

Comment 2 Xuo 2016-02-06 13:37:59 CET
Hi,

You're right. My bug entry was not precise enough.
I hope what I add below will help you to understand what kind of software I ask to be added to the Mageia pool (if it is possible).

Gate One⢠is a web-based Terminal Emulator and SSH client that brings the power of the command line to the web. 
From a Web browser (Firefox, ...) you can connect remotely to a server through ssh without the need of any plugin.

Another alternative to this software is shellinabox.It seems to do more or less the same than GateOne.
You can get the source from :
https://code.google.com/archive/p/shellinabox/downloads
but this software is quite old. 
It has been forked here :
https://github.com/shellinabox/shellinabox

Regards.

Xuo.

CC: (none) => xuoy
URL: (none) => https://github.com/liftoff/GateOne

Comment 3 Marja Van Waes 2016-02-06 15:05:30 CET
Thx Xuo :-)

Assigning to all packagers collectively, one might be interested in packaging it.

Summary: gateone, GateOne <add short description here> => gateone, GateOne is a web-based Terminal Emulator and SSH client that brings the power of the command line to the web
Keywords: NEEDINFO => (none)
Assignee: bugsquad => pkg-bugs

Comment 4 Xuo 2016-02-21 11:57:48 CET
Hi,

I could make it work. Here are the steps to achieve the installation of Gateone from scratch.
My installation is done under /usr/share.

cd /usr/share
git clone https://github.com/liftoff/GateOne.git
cd GateOne
# python setup.py install --prefix=/usr/share : does not work
python setup.py install
/bin/gateone

Some files in /etc/gateone are created. 
/etc/gateone/conf.d/50terminal.conf is not correct
At the end of the first line of this file, there is something like \N {
Remove these characters and add a new line starting with {

Run :
/bin/gateone &

I have modified 2 files :
/etc/gateone/conf.d/20authentication.conf

// This is Gate One's authentication settings file.
{
    // "gateone" server-wide settings fall under "*"
    "*": {
        "gateone": { // These settings apply to all of Gate One
            "api_timestamp_window": "30s",
            "auth": "pam",
            // : Does not work with this long chain : "pam_realm": "Bienvenue sur le site GateOne de mon_joli_site.fr",
            "pam_realm": "Bienvenue",
            "pam_service": "login",
            "ssl_auth": "none",
            "sso_keytab": null,
            "sso_realm": null,
            "sso_service": "HTTP"
        }
    }
}

I think I've just modified the fields "auth', "pam_realm" and "pam_service" compared to the default ones.

/etc/gateone/conf.d/10server.conf

// This is Gate One's main settings file.
{
    // "gateone" server-wide settings fall under "*"
    "*": {
        "gateone": { // These settings apply to all of Gate One
            "address": "192.168.0.14",
            "ca_certs": null,
            "cache_dir": "/root/tmp/gateone_cache",
            "certificate": "/etc/gateone/ssl/certificate.pem",
            "cookie_secret": "THIS IS A SECRET ???",
            "debug": false,
            "disable_ssl": true,
            "embedded": false,
            "enable_unix_socket": false,
            "gid": "0",
            "https_redirect": false,
            "js_init": "",
            "keyfile": "/etc/gateone/ssl/keyfile.pem",
            "locale": "fr_FR",
            "log_file_max_size": 100000000,
            "log_file_num_backups": 10,
            "log_file_prefix": "/var/log/gateone/gateone.log",
            "log_rotate_interval": 1,
            "log_rotate_mode": "size",
            "log_rotate_when": "midnight",
            "log_to_stderr": null,
            "logging": "info",
            "multiprocessing_workers": null,
            "origins": ["ordi4","mon_joli_site.fr","https://mon_joli_site.fr","mon_joli_site.fr/gateone"],
            "pid_file": "/var/run/gateone.pid",
            "port": 8080,
            "session_dir": "/root/tmp/gateone",
            "session_timeout": "10m",
            "syslog_facility": "daemon",
            "uid": "0",
            "unix_socket_mode": "0600",
            "unix_socket_path": "/tmp/gateone.sock",
            "url_prefix": "/gateone",
            "user_dir": "/var/lib/gateone/users",
            "user_logs_max_age": "30d"
        }
    }
}

I modified the fields "session_timeout", "port", "origins", "address".

ordi4 ip = 192.168.0.14 = name of the server running gateone + apache.

"address" contains the local ip address of the server where gateone is running.
"port" is the port gateone is listening to. Do not forget to update your box/router/... firewall and the drakfirewall config (if any).
"origins" contains the list of address used to reach the server when outside (or inside) the local network.

I still need to do some tries to see if I can simplify the "origins" field. I don't think I need all the 4 fields but it was hard to make it work.

When making some tries to connect, DO NOT FORGET TO GET OUT OF THE CURRENT SESSION (Preferences -> Sign Out).

My Web site uses a LetsEncrypt certificate.
I had to add the following file :
/etc/httpd/conf/sites.d/gateone.conf

Alias /gateone /var/www/html/gateone

<IfModule mod_proxy_http.c>
    SSLProxyEngine on
    ProxyRequests Off
    RequestHeader unset Accept-Encoding

    <Proxy>
        Order allow,deny
        Allow from all
    </Proxy>

    ProxyPass /gateone ws://192.168.0.14:8080/gateone
    ProxyPassReverse /gateone ws://192.168.0.14:8080/gateone
    ProxyPass /gateone wss://192.168.0.14:8080/gateone
    ProxyPassReverse /gateone wss://192.168.0.14:8080/gateone
    ProxyPass /gateone http://192.168.0.14:8080/gateone
    ProxyPassReverse /gateone http://192.168.0.14:8080/gateone
</IfModule>

I still need to run gateone not being root.
It is possible that it is not a good idea using the port 8080 as it is already in the /etc/services file.

Hope this helps when creating the rpm and all the stuff around (if someone is ready to do it :-) ).

Regards.

xuo.
Comment 5 Xuo 2016-02-27 18:20:23 CET
Hi,

Running gateone as another user than root is not easy.
I had to do :
chmod 755 /usr/sbin
chmod 755 /usr/bin/ssh

Without this, there are some "permission denied" errors.
Setting gateone user in the adm group and in the ntools one is not enough.

The only workaround I've found is using the chmod commands which is not acceptable for me.

Going back to the root user.

Regards.

Xuo.
Comment 6 Xuo 2020-07-14 19:57:09 CEST
Hi,

I don't use this software anymore. Closing the BZ.

Regards.

Xuo.

Resolution: (none) => WONTFIX
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.