# SSH-CLI
![PyPI](https://img.shields.io/pypi/v/ssh-cli)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ValentinKolb/ssh-cli/poetry.yml)
This CLI tool allows you to create and manage your SSH config file, streamlining the process of handling SSH
connections.
## Installation
To install SSH-Tool, simply run the following command:
```bash
pip install ssh-cli
```
## Usage
After installation, you can start using SSH-Tool by executing:
```bash
ssh-cli
```
## Features
SSH-Tool comes with a variety of features to manage your SSH configurations efficiently:
- **Add a New Host:** Easily add new hosts to your SSH config, with or without specifying a key.
- **Remove a Host:** Remove hosts from your SSH config.
- **List All Hosts:** Get a comprehensive list of all the hosts in your SSH config.
- **Connect to a Host:** Initiate a connection to a specified host directly.
- **Edit SSH Config File:** Open and edit your SSH config file with your preferred editor.
- **Cleanup SSH Keys:** Remove unused SSH keys from your directory.
## Configuration
This tool can be configured with Environment Variables:
| Variable | Description | Default |
|------------------------|---------------------------------------------------------------------------------|-----------------------|
| `SSH_CLI_CONFIG_FILE` | Path to the SSH config file (will be created if nonexitent) | `~/.ssh/config` |
| `SSH_CLI_KEY_DIR` | Path to the directory where the keys are stored (will be created if nonexitent) | `~/.ssh/keys`nano` |
| `SSH_CLI_KEY_TYPE` | Type of generated ssh keys | `ed25519` |
| `SSH_CLI_DEFAULT_USER` | The default user for creating new ssh hosts | `$USER` |
| `SSH_CLI_DEFAULT_PORT` | The default port for creating new ssh hosts | `22` |
| `SSH_CLI_EDITOR` | The editor to use for editing the ssh config file | `$EDITOR` else `nano` |
## Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any
contributions you make are greatly appreciated.
1. Fork the Project
1. Create your Feature Branch (git checkout -b feature/AmazingFeature)
1. Commit your Changes (git commit -m 'Add some AmazingFeature')
1. Push to the Branch (git push origin feature/AmazingFeature)
1. Open a Pull Request
## License
Distributed under the MIT License. See LICENSE for more information.
Raw data
{
"_id": null,
"home_page": "https://github.com/ValentinKolb/ssh-cli",
"name": "ssh-cli",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "ssh, cli, config",
"author": "valentinkolb",
"author_email": "valentin.kolb@uni-ulm.de",
"download_url": "https://files.pythonhosted.org/packages/c2/2a/f2efd78aa0917b236580993ee2230d2980790d6b4bf70fa92c90e0639167/ssh_cli-2.3.5.tar.gz",
"platform": null,
"description": "# SSH-CLI\n\n![PyPI](https://img.shields.io/pypi/v/ssh-cli)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ValentinKolb/ssh-cli/poetry.yml)\n\nThis CLI tool allows you to create and manage your SSH config file, streamlining the process of handling SSH\nconnections.\n\n## Installation\n\nTo install SSH-Tool, simply run the following command:\n\n```bash\npip install ssh-cli\n```\n\n## Usage\n\nAfter installation, you can start using SSH-Tool by executing:\n\n```bash\nssh-cli\n```\n\n## Features\n\nSSH-Tool comes with a variety of features to manage your SSH configurations efficiently:\n\n- **Add a New Host:** Easily add new hosts to your SSH config, with or without specifying a key.\n- **Remove a Host:** Remove hosts from your SSH config.\n- **List All Hosts:** Get a comprehensive list of all the hosts in your SSH config.\n- **Connect to a Host:** Initiate a connection to a specified host directly.\n- **Edit SSH Config File:** Open and edit your SSH config file with your preferred editor.\n- **Cleanup SSH Keys:** Remove unused SSH keys from your directory.\n\n## Configuration\n\nThis tool can be configured with Environment Variables:\n\n| Variable | Description | Default |\n|------------------------|---------------------------------------------------------------------------------|-----------------------|\n| `SSH_CLI_CONFIG_FILE` | Path to the SSH config file (will be created if nonexitent) | `~/.ssh/config` |\n| `SSH_CLI_KEY_DIR` | Path to the directory where the keys are stored (will be created if nonexitent) | `~/.ssh/keys`nano` |\n| `SSH_CLI_KEY_TYPE` | Type of generated ssh keys | `ed25519` |\n| `SSH_CLI_DEFAULT_USER` | The default user for creating new ssh hosts | `$USER` |\n| `SSH_CLI_DEFAULT_PORT` | The default port for creating new ssh hosts | `22` |\n| `SSH_CLI_EDITOR` | The editor to use for editing the ssh config file | `$EDITOR` else `nano` |\n\n## Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any\ncontributions you make are greatly appreciated.\n\n1. Fork the Project\n1. Create your Feature Branch (git checkout -b feature/AmazingFeature)\n1. Commit your Changes (git commit -m 'Add some AmazingFeature')\n1. Push to the Branch (git push origin feature/AmazingFeature)\n1. Open a Pull Request\n\n## License\n\nDistributed under the MIT License. See LICENSE for more information.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "cli to manage the ssh config file",
"version": "2.3.5",
"project_urls": {
"Homepage": "https://github.com/ValentinKolb/ssh-cli",
"Repository": "https://github.com/ValentinKolb/ssh-cli"
},
"split_keywords": [
"ssh",
" cli",
" config"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "44f38e464b95d5d685dc26f94bae1f25ceaecbe72e3f83b145d4cc09402940a2",
"md5": "863ffceaeccc449a2a22fbdd21c6345b",
"sha256": "2a89dcd063cd23f33fd263a1a818a95950b72ef846fc597dc40cfeefa04fef13"
},
"downloads": -1,
"filename": "ssh_cli-2.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "863ffceaeccc449a2a22fbdd21c6345b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 12747,
"upload_time": "2024-03-26T15:52:20",
"upload_time_iso_8601": "2024-03-26T15:52:20.607396Z",
"url": "https://files.pythonhosted.org/packages/44/f3/8e464b95d5d685dc26f94bae1f25ceaecbe72e3f83b145d4cc09402940a2/ssh_cli-2.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c22af2efd78aa0917b236580993ee2230d2980790d6b4bf70fa92c90e0639167",
"md5": "576d121d4c90869897055c572540e17e",
"sha256": "d25333934d8990f13b12fa3e23b235208f8979a112965374e59b528d672ae283"
},
"downloads": -1,
"filename": "ssh_cli-2.3.5.tar.gz",
"has_sig": false,
"md5_digest": "576d121d4c90869897055c572540e17e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 8800,
"upload_time": "2024-03-26T15:52:21",
"upload_time_iso_8601": "2024-03-26T15:52:21.657729Z",
"url": "https://files.pythonhosted.org/packages/c2/2a/f2efd78aa0917b236580993ee2230d2980790d6b4bf70fa92c90e0639167/ssh_cli-2.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-26 15:52:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ValentinKolb",
"github_project": "ssh-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ssh-cli"
}