\n\n# Lassh \nAn open source, MIT-licensed command line tool for managing per-project ssh configs.\n\n## Using a ssh config\nssh allows the use of a `config` plaintext file, usually located in `~/.ssh/config`, that allows you to customize `ssh` in a whole host (heh) of ways. One primary use is the creation of aliases for hosts.\n\nHowever, a single global config file for ssh can quickly become unwieldy and messy ([motivating stack exchange](https://serverfault.com/questions/375525/can-you-have-more-than-one-ssh-config-file)).\n\n## Introducing Lassh\nA CLI to manage your global ssh config and to allow for per-project configurations.\n\n### Installation\nLassh requires Python 3. Run `pip install lassh`. If you haven't already, check out [pyenv](https://github.com/pyenv/pyenv) for python version management and [pipenv](https://github.com/pypa/pipenv) for dependency management, though they aren't neccesary for using Lassh.\n\n### Getting Started\n1. `cd` into your project (or lab or class or secret government R&D group) directory that you want to configure ssh for.\n\n#### Initializing Lassh\n2. `lassh init` will create a global config and a project `lassh.config` (if they don't already exist). Note: `lassh.config` files are valid plaintext `.ssh/config` files. Lassh will then link your new or existing `lassh.config` to the global config! But you don't have any new hosts to connect to...\n\n#### Adding Hosts\n3. `lassh addhost beepboop computer.dartmouth.edu stevenchun` adds a host now called `beepboop` that points to `stevenchun@computer.dartmouth.edu`. You can also specify a path to identity keys using the `--key` option and a port with the `--port` option. If you leave the user out, it will default to `root`.\n\nIt's important to remember that while Lassh allows you to distribute your config files, the ssh alias namespace is global so you can't have the same alias in two different lassh.config files.\n\n#### Deleting Hosts\n4. `lassh deletehost beepboop` deletes the host we just made from our local `lassh.config`. (It does not remove the link from our project `lassh.config` to the global config)\n\n#### Teardown\n5. `lassh teardown` unlinks and deletes the `lassh.config` in the current directory from the global config. Warning: this deletes all aliases you have in the project's `lassh.config`\n\n#### Other Operations\nSince each `lassh.config` is a valid ssh config file, if you want to add an option like LocalForward, simply add the host and manually edit the `lassh.config` file to add more options (or contribute to add the relevant feature to Lassh!!).\n\n## Testing\nTests can be run using `python -m unittest test.test_lassh` while in the `lassh` python package directory.\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/stevenrchun/lassh",
"keywords": "",
"license": "LICENSE.txt",
"maintainer": "",
"maintainer_email": "",
"name": "lassh",
"package_url": "https://pypi.org/project/lassh/",
"platform": "",
"project_url": "https://pypi.org/project/lassh/",
"project_urls": {
"Homepage": "https://github.com/stevenrchun/lassh"
},
"release_url": "https://pypi.org/project/lassh/0.1.1/",
"requires_dist": [
"Click",
"sshconf",
"setuptools",
"clint",
"pathlib"
],
"requires_python": "",
"summary": "An open source, MIT-licensed command line tool for managing per-project ssh configs.",
"version": "0.1.1"
},
"last_serial": 5532658,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "792a1b9993b18a8b1ac3a6cb2bd03367",
"sha256": "1dba56d374e2a0c3f7d8fc19d9c22b356d57aacf3babde2114ac38ac0b2670fe"
},
"downloads": -1,
"filename": "lassh-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "792a1b9993b18a8b1ac3a6cb2bd03367",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7654,
"upload_time": "2019-07-15T00:11:29",
"url": "https://files.pythonhosted.org/packages/20/36/13c66794c32ab0b4a764317eb4c6784e2fae840fa6351fdcd7ef4cb286c2/lassh-0.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f64c1ba7251bae61cbb2d6654e1f0623",
"sha256": "19865ed71fc49e1c8cd6d9f1f363ff9cd0e0ca55d68b60a8e23ed458b6dde97d"
},
"downloads": -1,
"filename": "lassh-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "f64c1ba7251bae61cbb2d6654e1f0623",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6475,
"upload_time": "2019-07-15T00:11:31",
"url": "https://files.pythonhosted.org/packages/74/f4/d1f7ac138e324efd8ebb74d193d6a00a0b12e73b0c7ebc0cf21e889fd3c9/lassh-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "07a69101d2a52c1598b1d7a03104cee3",
"sha256": "e076971802b4cc9f91b0e8c29fd071f10c93b9b050147f2f5bef894c696b0ce3"
},
"downloads": -1,
"filename": "lassh-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "07a69101d2a52c1598b1d7a03104cee3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7650,
"upload_time": "2019-07-15T00:42:49",
"url": "https://files.pythonhosted.org/packages/17/95/a4702a54a96eb4bb6520bb835be923a13bccffb7cac19de737f2f6355a14/lassh-0.1.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1e423e992ee51f07d49eb0edae3bd610",
"sha256": "3937aa802dfc2ecd1566e5593a7a5decd3b9a408f0645360ab5758bcabaa5347"
},
"downloads": -1,
"filename": "lassh-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "1e423e992ee51f07d49eb0edae3bd610",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6398,
"upload_time": "2019-07-15T00:42:50",
"url": "https://files.pythonhosted.org/packages/88/aa/da225ca3d9ee107d1f2865d1239a44174da8ebc9ef3ae2350d8d8abb5dfa/lassh-0.1.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "07a69101d2a52c1598b1d7a03104cee3",
"sha256": "e076971802b4cc9f91b0e8c29fd071f10c93b9b050147f2f5bef894c696b0ce3"
},
"downloads": -1,
"filename": "lassh-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "07a69101d2a52c1598b1d7a03104cee3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7650,
"upload_time": "2019-07-15T00:42:49",
"url": "https://files.pythonhosted.org/packages/17/95/a4702a54a96eb4bb6520bb835be923a13bccffb7cac19de737f2f6355a14/lassh-0.1.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1e423e992ee51f07d49eb0edae3bd610",
"sha256": "3937aa802dfc2ecd1566e5593a7a5decd3b9a408f0645360ab5758bcabaa5347"
},
"downloads": -1,
"filename": "lassh-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "1e423e992ee51f07d49eb0edae3bd610",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6398,
"upload_time": "2019-07-15T00:42:50",
"url": "https://files.pythonhosted.org/packages/88/aa/da225ca3d9ee107d1f2865d1239a44174da8ebc9ef3ae2350d8d8abb5dfa/lassh-0.1.1.tar.gz"
}
]
}