Skip to main content
# CSSHY - Alpha Version

Imporved ClusterSSH for modern terminals like terminator and tilix, to manage a cluster of nodes through ssh connections
launches multiple splits with ssh connections to each node

## TODO to go beta

This project was created in a single Hackathon, so still have a long run to be beta quality. Any help is appreciated:

* Add command line arguments to create/remove/modify cluster so there is no need to edit json files
* Improve `guess` terminal detection for other DE (KDE and XFCE at least)
* Add more backends
* Make it compatible with other platforms (at least OS X)
* Improve terminator code to use tempfile instead of creating a profile inside terminator
* Write automated unit tests
* Improve overall code quality

## Migrate from csshnator
If you are a previous csshnator user, you can migrate your old configuration with `migrate_settings_from_csshnator.py` script, just run it to get your cluster settings migrated

## Install
To install you need to have `Python 3` (tested with `3.6` but might work with older versions) and `pip`. Then you just need to:
```bash
pip install csshy
```

## Usage
To use it, just pass all hostnames as arguments on command line, like that:
```bash
csshy -l user host1 host2 host3
```

You can also create a config file with all the clusters listed in a json format, and also adjust your default terminal:
$HOME/.csshy.conf

```json
{
"terminal": "guess",
"cluster_nodes": {
"cluster1": [
"10.10.100.209",
"10.10.100.210",
"10.10.100.211"
],
"cluster2": [
"10.10.100.212",
"10.10.100.213",
"10.10.100.214"
]
}
}

```
In `terminal` you can choose between `guess`, `terminator`, `tilix` and `cssh`. When you choose `guess` csshy will try it best to guess wich terminal to use.

To use the cluster you created just pass the `-c` argument

```bash
csshy -l <user> -c <clustername>
```

example:
```bash
csshy -l thor27 -c cluster1
```

For more usage information you can consult the help:

```
./csshy --help

usage: csshy.py [-h] [-l LOGIN] [-s] [-c CLUSTER_NAME] [-t TERMINAL]
[cluster_nodes [cluster_nodes ...]]

Open ClusterSSH-like session on Terminator or Tilix

positional arguments:
cluster_nodes Hostnames or user@hostname to connect to, separated by
space

optional arguments:
-h, --help show this help message and exit
-l LOGIN, --login LOGIN
Login username to pass to all hosts used.
-s, --show Show all clusters available.
-c CLUSTER_NAME, --cluster-name CLUSTER_NAME
Cluster name is a collection of hosts available on
~/.csshy.conf file
-t TERMINAL, --terminal TERMINAL
Choose terminal to use (tilix, terminator, cssh)
```

Metadata

Release files for csshy 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for csshy 0.2
File Size Uploaded
csshy-0.2.tar.gz 6.8 kB Details

Release files / csshy-0.2.tar.gz

Download URL csshy-0.2.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0ab31502e9e13feae32d202a66c2c3b62325f50d7b8765926e7193d74101ecf9
BLAKE2b-256 checksum
How to use checksums
172e8107d9b35e4af4d39cc2303edd7889094b106276442f3096234ac1c88455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.6

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page