Skip to main content

Improved ClusterSSH for modern terminals like Terminator and Tilix

Project description

# 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)
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csshy-0.2.tar.gz (6.8 kB view details)

Uploaded Source

File details

Details for the file csshy-0.2.tar.gz.

File metadata

  • Download URL: csshy-0.2.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for csshy-0.2.tar.gz
Algorithm Hash digest
SHA256 0ab31502e9e13feae32d202a66c2c3b62325f50d7b8765926e7193d74101ecf9
MD5 72ba52dc9cbe176a2919639b6a2eaca4
BLAKE2b-256 172e8107d9b35e4af4d39cc2303edd7889094b106276442f3096234ac1c88455

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page