dssh


Namedssh JSON
Version 0.4.6 PyPI version JSON
download
home_pagehttps://github.com/flutique/dssh
SummarySSH server manager on the basis of environments
upload_time2024-02-22 06:42:07
maintainerSaurav Sharma
docs_urlNone
authorSaurav Sharma
requires_python>=3.7.0,<4.0.0
license
keywords ssh ssh server
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Connect Dev SSH

Simple and elegant python module that helps you to manage your ssh server based on environment. Like DEV, UAT, PRE-PROD, PROD etc.
You can customize your environments/servers config as per your requirements.

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install foobar.

```
pip install dssh
```

## Usage

### Add new environment

```
dssh addenv
```

Output:

```
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Environments ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━┩
└────────────────────────┘
New Environment name: DEV
```

### Delete an environment

```
dssh dlenv
```

Output:

```
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Environments ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━┩
│ DEV                    │
└────────────────────────┘
Select an environment: DEV
```

### Add new server to an environment

```
dssh addserver
```

Output:

```
dssh addserver
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Environments ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━┩
│ DEV                    │
└────────────────────────┘
Select an environment: DEV
┏━━━━━━━━━━━━━━━━━━━┓
┃ Availbale Servers ┃
┡━━━━━━━━━━━━━━━━━━━┩
└───────────────────┘
New Server name: Server1
Server username: username
Server hostname: 10.10.0.1
Custom key path(path should be absolute)(Press enter if no change):
Does this server use bastion server y/n: n
```

### Connect to a server

```
dssh connect
```

Output:

```
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Environments ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━┩
│ DEV                    │
│ UAT                    │
└────────────────────────┘
Select an environment: DEV
┏━━━━━━━━━━━━━━━━━━━┓
┃ Availbale Servers ┃
┡━━━━━━━━━━━━━━━━━━━┩
│ Server1           │
└───────────────────┘
Select a server: Server1
Environment:DEV Server:Server1!
Connecting to username@10.10.0.1! 💥
```

### Modify config of a server

```
dssh modserver
```

Output:

```
dssh modserver                    
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Environments ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━┩
│ DEV                    │
└────────────────────────┘
Select an environment: DEV
┏━━━━━━━━━━━━━━━━━━━┓
┃ Availbale Servers ┃
┡━━━━━━━━━━━━━━━━━━━┩
│ Server1           │
└───────────────────┘
Select a server: Server1
Current Username - username Hostname - 10.10.0.1
New Username(Press enter if no change): nusername
New Hostname(Press enter if no change): 10.10.0.2
New key path(path should be absolute)(Press enter if no change):
Do you want to update bastion server(y/n): n
Success! 💥
```

### Remove a server

```
dssh dlserver
```

Output:

```
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Environments ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━┩
│ DEV                    │
└────────────────────────┘
Select an environment: DEV
┏━━━━━━━━━━━━━━━━━━━┓
┃ Availbale Servers ┃
┡━━━━━━━━━━━━━━━━━━━┩
│ Server1           │
└───────────────────┘
Select a server: Server1
Success! 💥
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/flutique/dssh",
    "name": "dssh",
    "maintainer": "Saurav Sharma",
    "docs_url": null,
    "requires_python": ">=3.7.0,<4.0.0",
    "maintainer_email": "",
    "keywords": "ssh,ssh server",
    "author": "Saurav Sharma",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/90/fd/6bde9463d2f0fd828a7b4db1a0685aeca4459d0fc5d9808ed5dd387034a3/dssh-0.4.6.tar.gz",
    "platform": null,
    "description": "# Connect Dev SSH\n\nSimple and elegant python module that helps you to manage your ssh server based on environment. Like DEV, UAT, PRE-PROD, PROD etc.\nYou can customize your environments/servers config as per your requirements.\n\n## Installation\n\nUse the package manager [pip](https://pip.pypa.io/en/stable/) to install foobar.\n\n```\npip install dssh\n```\n\n## Usage\n\n### Add new environment\n\n```\ndssh addenv\n```\n\nOutput:\n\n```\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Available Environments \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nNew Environment name: DEV\n```\n\n### Delete an environment\n\n```\ndssh dlenv\n```\n\nOutput:\n\n```\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Available Environments \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 DEV                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect an environment: DEV\n```\n\n### Add new server to an environment\n\n```\ndssh addserver\n```\n\nOutput:\n\n```\ndssh addserver\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Available Environments \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 DEV                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect an environment: DEV\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Availbale Servers \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nNew Server name: Server1\nServer username: username\nServer hostname: 10.10.0.1\nCustom key path(path should be absolute)(Press enter if no change):\nDoes this server use bastion server y/n: n\n```\n\n### Connect to a server\n\n```\ndssh connect\n```\n\nOutput:\n\n```\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Available Environments \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 DEV                    \u2502\n\u2502 UAT                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect an environment: DEV\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Availbale Servers \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 Server1           \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect a server: Server1\nEnvironment:DEV Server:Server1!\nConnecting to username@10.10.0.1! \ud83d\udca5\n```\n\n### Modify config of a server\n\n```\ndssh modserver\n```\n\nOutput:\n\n```\ndssh modserver                    \n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Available Environments \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 DEV                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect an environment: DEV\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Availbale Servers \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 Server1           \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect a server: Server1\nCurrent Username - username Hostname - 10.10.0.1\nNew Username(Press enter if no change): nusername\nNew Hostname(Press enter if no change): 10.10.0.2\nNew key path(path should be absolute)(Press enter if no change):\nDo you want to update bastion server(y/n): n\nSuccess! \ud83d\udca5\n```\n\n### Remove a server\n\n```\ndssh dlserver\n```\n\nOutput:\n\n```\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Available Environments \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 DEV                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect an environment: DEV\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Availbale Servers \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 Server1           \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nSelect a server: Server1\nSuccess! \ud83d\udca5\n```\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "SSH server manager on the basis of environments",
    "version": "0.4.6",
    "project_urls": {
        "Bug Tracker": "https://github.com/flutique/dssh/issues",
        "Documentation": "https://github.com/flutique/dssh",
        "Homepage": "https://github.com/flutique/dssh",
        "Repository": "https://github.com/flutique/dssh"
    },
    "split_keywords": [
        "ssh",
        "ssh server"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "82cbea257f4ed8611e0ca67953322907d8e3a6953dc076ce5a1958346eb3404e",
                "md5": "f1e2a294120cb034b78f1536ce4e30a2",
                "sha256": "f0cec8608f6e07d8ef0f60f6ff9a764c1ede040e09885f43933ed5e691834bcc"
            },
            "downloads": -1,
            "filename": "dssh-0.4.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f1e2a294120cb034b78f1536ce4e30a2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7.0,<4.0.0",
            "size": 4385,
            "upload_time": "2024-02-22T06:42:05",
            "upload_time_iso_8601": "2024-02-22T06:42:05.465147Z",
            "url": "https://files.pythonhosted.org/packages/82/cb/ea257f4ed8611e0ca67953322907d8e3a6953dc076ce5a1958346eb3404e/dssh-0.4.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90fd6bde9463d2f0fd828a7b4db1a0685aeca4459d0fc5d9808ed5dd387034a3",
                "md5": "c34b4afe456897b75b6b336cbaf1dd33",
                "sha256": "40333f30d2d10ac6fc13dd2ebf6138720a985b862155a284bae109f8b04b323c"
            },
            "downloads": -1,
            "filename": "dssh-0.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "c34b4afe456897b75b6b336cbaf1dd33",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0,<4.0.0",
            "size": 3759,
            "upload_time": "2024-02-22T06:42:07",
            "upload_time_iso_8601": "2024-02-22T06:42:07.146064Z",
            "url": "https://files.pythonhosted.org/packages/90/fd/6bde9463d2f0fd828a7b4db1a0685aeca4459d0fc5d9808ed5dd387034a3/dssh-0.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-22 06:42:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "flutique",
    "github_project": "dssh",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "dssh"
}
        
Elapsed time: 0.20544s