{ "info": { "author": "quantum", "author_email": "quantum2048@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: No Input/Output (Daemon)", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU Affero General Public License v3", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Systems Administration :: Authentication/Directory", "Topic :: Utilities" ], "description": "# `sshauthproxy` [![PyPI](https://img.shields.io/pypi/v/sshauthproxy.svg)](https://pypi.org/project/sshauthproxy/) [![PyPI - Format](https://img.shields.io/pypi/format/sshauthproxy.svg)](https://pypi.org/project/sshauthproxy/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sshauthproxy.svg)](https://pypi.org/project/sshauthproxy/)\n\n`sshauthproxy` is a simple `tornado`-based daemon that exports your SSH keys\nfrom an `AuthorizedKeysCommand` via a simple HTTP-based API.\n\n## Why?\n\nI am rather fond of `sss_ssh_authorizedkeys` and managing SSH keys in LDAP.\nHowever, I would like to be able to pull SSH keys from an LDAP directory on\nservers that I do not want to be added to the directory. Now, I can run\n`sshauthproxy` on a server in the directory, and pull the keys from any server\nI want.\n\nWhile the default `AuthorizedKeysCommand` is `sss_ssh_authorizedkeys`, I am\nsure there are other `AuthorizedKeysCommand` that would be useful when proxied.\n\n## Installation\n\n```\n# On the machine publishing the keys (server):\npip install sshauthproxy\n\n# Run the server:\nsshauthproxy [--address=] [--port=]\n# To proxy something other than sss_ssh_authorizedkeys, specify --command=.\n# By default, the server binds to 0.0.0.0:8888 and [::]:8888.\n\n# On the machine using the keys (client):\nsudo curl https://raw.githubusercontent.com/quantum5/sshauthproxy/master/sshauth-client -o/usr/local/bin/sshauth-client\necho https://sshauth.example.com | sudo tee /etc/sshauth-server\n\n# Now add the following lines to /etc/ssh/sshd_config on the client:\nAuthorizedKeysCommand /usr/local/bin/sshauth-client\nAuthorizedKeysCommandUser nobody\n```\n\n## API\n\nThe API is very simple:\n\n* `GET /`: shows usage information.\n* `GET /`: shows the SSH keys for the given username, if available.\n Otherwise, it returns 404 with a blank response body.\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/quantum5/sshauthproxy", "keywords": "ssh public-key proxy authorized_keys", "license": "AGPLv3", "maintainer": "", "maintainer_email": "", "name": "sshauthproxy", "package_url": "https://pypi.org/project/sshauthproxy/", "platform": "", "project_url": "https://pypi.org/project/sshauthproxy/", "project_urls": { "Homepage": "https://github.com/quantum5/sshauthproxy" }, "release_url": "https://pypi.org/project/sshauthproxy/0.1/", "requires_dist": [ "tornado" ], "requires_python": "", "summary": "SSH AuthorizedKeysCommand proxy: publish your SSH authorized_keys from an existing AuthorizedKeysCommand", "version": "0.1" }, "last_serial": 4522337, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "86564b60776cb428a55d6ae590e38f07", "sha256": "785356e1c9c807663efab8fe87d72bf28cf406f04ee54658fb4ee6da7fabdfac" }, "downloads": -1, "filename": "sshauthproxy-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86564b60776cb428a55d6ae590e38f07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15259, "upload_time": "2018-11-24T03:13:42", "url": "https://files.pythonhosted.org/packages/2e/fc/c2e07477d3a59289154d5ee9bc34bdb421fa419bf8637a52f219eab7a8e9/sshauthproxy-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4795b2f30114f1bba8fc9bcc2bc54acf", "sha256": "108a83a8af01db8bb1e56453c40da6bd8369ad40e71f17d8dad4879cd1ad999b" }, "downloads": -1, "filename": "sshauthproxy-0.1.tar.gz", "has_sig": false, "md5_digest": "4795b2f30114f1bba8fc9bcc2bc54acf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2985, "upload_time": "2018-11-24T03:13:47", "url": "https://files.pythonhosted.org/packages/85/6c/d08899fd58fb134a2fe48392326a54bca4e1befa0f910604f7d2daa22b52/sshauthproxy-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "86564b60776cb428a55d6ae590e38f07", "sha256": "785356e1c9c807663efab8fe87d72bf28cf406f04ee54658fb4ee6da7fabdfac" }, "downloads": -1, "filename": "sshauthproxy-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86564b60776cb428a55d6ae590e38f07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15259, "upload_time": "2018-11-24T03:13:42", "url": "https://files.pythonhosted.org/packages/2e/fc/c2e07477d3a59289154d5ee9bc34bdb421fa419bf8637a52f219eab7a8e9/sshauthproxy-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4795b2f30114f1bba8fc9bcc2bc54acf", "sha256": "108a83a8af01db8bb1e56453c40da6bd8369ad40e71f17d8dad4879cd1ad999b" }, "downloads": -1, "filename": "sshauthproxy-0.1.tar.gz", "has_sig": false, "md5_digest": "4795b2f30114f1bba8fc9bcc2bc54acf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2985, "upload_time": "2018-11-24T03:13:47", "url": "https://files.pythonhosted.org/packages/85/6c/d08899fd58fb134a2fe48392326a54bca4e1befa0f910604f7d2daa22b52/sshauthproxy-0.1.tar.gz" } ] }