{ "info": { "author": "Aber Sheeran", "author_email": "abersheeran@qq.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# messh.py\n\nA useful SSH configuration manager.\n\n## Install\n\n```bash\nsudo pip install messh\n```\n\n## How to use\n\nGet help about messh\n\n```bash\nmessh --help\n```\n\nDisplay all ssh-config in messh\n\n```\nmessh list\n```\n\nCreate ssh connection and auto save it in config list, use `--only-create` only update config without creating ssh connection.\n\n```\nmessh connect root@host --port 7878 --name \"Myself VPS\"\n```\n\nUse config by index to create ssh connection\n\n```\nmessh connect 0\n```\n\nExecute command by ssh connection\n\n```\nmessh execute root@host \"ls -l\" --port 8080\n# or use index\nmessh execute 0 \"ls -l\"\n```\n\nDelete config by index(integer)\n\n```\nmessh delete 0\n```\n\n## Security\n\nAll config would be write to `~/messh.conf` by JSON. **Protect it!**\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/abersheeran/messh", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "messh", "package_url": "https://pypi.org/project/messh/", "platform": "", "project_url": "https://pypi.org/project/messh/", "project_urls": { "Homepage": "https://github.com/abersheeran/messh" }, "release_url": "https://pypi.org/project/messh/1.2.0/", "requires_dist": [ "colorama", "click", "paramiko", "pysftp" ], "requires_python": ">=3.6.0", "summary": "A useful SSH configuration manager.", "version": "1.2.0" }, "last_serial": 5539504, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "328f48efc8eb886bfcd8134f37f92f04", "sha256": "e8fab18c580298253336ed40381d304df7f119b9f2170b352f590e984a678dcb" }, "downloads": -1, "filename": "messh-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "328f48efc8eb886bfcd8134f37f92f04", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4665, "upload_time": "2019-05-07T08:08:01", "url": "https://files.pythonhosted.org/packages/db/e5/88b684f53c24317862f2bae4fae8103fd59f7ab438faa5087709950972ea/messh-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d9ca314fb5f2bfa4e130459d7dfdef0", "sha256": "517a1e1cbcd947e0740817bdeea599d1fdf461ea4f7411cc2e4328ed0555cd2b" }, "downloads": -1, "filename": "messh-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8d9ca314fb5f2bfa4e130459d7dfdef0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4207, "upload_time": "2019-05-07T08:08:03", "url": "https://files.pythonhosted.org/packages/54/27/fd2c9622954c22f03c0a3f63fa8eeddb542cfc312e0f8028efe77f97a5a4/messh-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8b827f2df31b27078aab452b754c2608", "sha256": "a4bb808b94b786378e05ad2e6bc426e7e8b3f44ef867d20cee969f8322fa281c" }, "downloads": -1, "filename": "messh-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b827f2df31b27078aab452b754c2608", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4631, "upload_time": "2019-05-07T08:10:48", "url": "https://files.pythonhosted.org/packages/eb/6c/757258e76f07639756f4f11cd609c57675cea4c6456c5c20ae3a1f126f93/messh-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20eeac117acc1c75f79da5dd59d012b9", "sha256": "67b572e49cf03234915a861963ebe5516c2798eaf0f0c541fc445a85c40d19a5" }, "downloads": -1, "filename": "messh-1.0.1.tar.gz", "has_sig": false, "md5_digest": "20eeac117acc1c75f79da5dd59d012b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4179, "upload_time": "2019-05-07T08:10:49", "url": "https://files.pythonhosted.org/packages/9b/7e/dd6bac911ce77f76f5adb3da1b9ff3e1e2fd2b7f5e176b9ec24c48d7a26a/messh-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "fa90daf3fc0b5a6650917ef4d0a849b5", "sha256": "71f966073810bfee60cdf69c9f37181039c143f10f722772fa28ece173894315" }, "downloads": -1, "filename": "messh-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa90daf3fc0b5a6650917ef4d0a849b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4799, "upload_time": "2019-05-09T16:29:32", "url": "https://files.pythonhosted.org/packages/a4/70/7a1936e47d03b9d4457549ba45d57e519a8cb6b2e81e7367b6a5861a358d/messh-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f532ad5314391033d63f982e2b83da5b", "sha256": "f01267fe82847d24be6d888a0b232aac8feb10fc0eb9e2b00289c77c8875f937" }, "downloads": -1, "filename": "messh-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f532ad5314391033d63f982e2b83da5b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4326, "upload_time": "2019-05-09T16:29:34", "url": "https://files.pythonhosted.org/packages/4d/d3/f4d8c433d0fb5de9699dc9db07bcf0dac058363fcb54256bb5f4fdf86088/messh-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ab757b9cdb87263c6d5e3e9ca4a30c1c", "sha256": "532ba2f2a3a4239960f2e459cf96ee814c4ec1e0dba33f046a62fb2a1170087e" }, "downloads": -1, "filename": "messh-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab757b9cdb87263c6d5e3e9ca4a30c1c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 5163, "upload_time": "2019-05-10T03:01:55", "url": "https://files.pythonhosted.org/packages/50/10/f49ce856f370b4982cd38c108c7de7187c8e3b8208d16f4be04191764357/messh-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5992489a1ac68a0b43aa590299da5688", "sha256": "6182cfb43e27a82e099c9b738bb8d74b27793579268ee9825f3499484983cde9" }, "downloads": -1, "filename": "messh-1.1.0.tar.gz", "has_sig": false, "md5_digest": "5992489a1ac68a0b43aa590299da5688", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4621, "upload_time": "2019-05-10T03:01:57", "url": "https://files.pythonhosted.org/packages/7a/0b/4498c3fee5a2a0d6ac413e1d0095de3a20db73db6aab67781697c0546942/messh-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "47d8ab21bda74be1d651969aedbc1b35", "sha256": "c1139f52303745ddee899a3233ffcf993f04e37be19572d3ae466c28f64ee604" }, "downloads": -1, "filename": "messh-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47d8ab21bda74be1d651969aedbc1b35", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 5210, "upload_time": "2019-07-10T03:53:19", "url": "https://files.pythonhosted.org/packages/63/1d/26eb464f309568c8ec628ea5a436f64052ee15d35b31bf97f2a7c5b4a82a/messh-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecce77069415ef70f23397b48ccbb242", "sha256": "073455e4c38202b8059b0cc6cd565b857b4fb9509195066e52c809d445e3a38b" }, "downloads": -1, "filename": "messh-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ecce77069415ef70f23397b48ccbb242", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4659, "upload_time": "2019-07-10T03:53:21", "url": "https://files.pythonhosted.org/packages/77/ed/65aa6cc7fad328bbd9b1ac27607812fe32f7307a800d811bf48b03ec27e4/messh-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "92623e192f44b1935dd3dccb5ccaf36a", "sha256": "a0158107f20871250aff0bc53a799e6a9ecdece76695da760f7d7bfe5c88a309" }, "downloads": -1, "filename": "messh-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92623e192f44b1935dd3dccb5ccaf36a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 5944, "upload_time": "2019-07-16T09:39:49", "url": "https://files.pythonhosted.org/packages/0b/4e/3aaf8bd7cded5f475c07e7fb3a3dd0e62f0e63d21c7a4c55d62f14a52cf9/messh-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d5788c317943682dfaa6b6bf0f27a9d", "sha256": "271c69e1bad04dfe5532b1acd08635c80c2c03115fd4da84d62f8290e6440f2e" }, "downloads": -1, "filename": "messh-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5d5788c317943682dfaa6b6bf0f27a9d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5435, "upload_time": "2019-07-16T09:39:51", "url": "https://files.pythonhosted.org/packages/6e/75/6d2080a8962b5da77fba30577a552bc2dcbc6d4a139d29ab6c834142c778/messh-1.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "92623e192f44b1935dd3dccb5ccaf36a", "sha256": "a0158107f20871250aff0bc53a799e6a9ecdece76695da760f7d7bfe5c88a309" }, "downloads": -1, "filename": "messh-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92623e192f44b1935dd3dccb5ccaf36a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 5944, "upload_time": "2019-07-16T09:39:49", "url": "https://files.pythonhosted.org/packages/0b/4e/3aaf8bd7cded5f475c07e7fb3a3dd0e62f0e63d21c7a4c55d62f14a52cf9/messh-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d5788c317943682dfaa6b6bf0f27a9d", "sha256": "271c69e1bad04dfe5532b1acd08635c80c2c03115fd4da84d62f8290e6440f2e" }, "downloads": -1, "filename": "messh-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5d5788c317943682dfaa6b6bf0f27a9d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5435, "upload_time": "2019-07-16T09:39:51", "url": "https://files.pythonhosted.org/packages/6e/75/6d2080a8962b5da77fba30577a552bc2dcbc6d4a139d29ab6c834142c778/messh-1.2.0.tar.gz" } ] }