{ "info": { "author": "Matt Weeks", "author_email": "scriptjunkie@scriptjunkie.us", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "puttykeys\n=========\n\nA module to convert SSH keys from the Putty format to the OpenSSH format. Supports RSA and ED25519 keys.\nImplements one method, ``ppkraw_to_openssh(ppk_text_contents[, password])`` which decodes the supplied putty key if a password is provided, converts to OpenSSH format and returns it as a string.\nThe returned output string is not encrypted or password protected.\n\nUsage in python code::\n\n\timport puttykeys\n\tputty_key_contents = open(\"rsa_no_password.ppk\",\"r\").read()\n\tprint(puttykeys.ppkraw_to_openssh(putty_key_contents))\n\n::\n\n\tpassword_ppk_contents = open(\"rsa_with_password.ppk\",\"r\").read()\n\tprint(puttykeys.ppkraw_to_openssh(password_ppk_contents, \"password\"))\n\n\nUsage via command line::\n\n\t> python -m puttykeys rsa_no_password.ppk\n\t-----BEGIN RSA PRIVATE KEY-----\n\tMIIEqAIBAAKCAQEAhoafrxc4mPVaq7mMsKh+prcptxN2tQYIKeinhdgDYV2xI6/Q\n\tHgueLyR0+FLOy3jDDjh9/BGACFT+YN/J6HuqcpYwdj8hBS7nhApd+NDAFitDBbg8\n\t+aY80SVpNGS6NAb+upTEvwGYYbV5VDLqlnV1Ib8kPmrIbR90U0pXJ8XBdzHgeqez\n\t1MT+coqdobpBL4aLMP62v4bj2Q4D1WP+86Evc/XkQAggTMdYYDEk4KJ+rEPZ98G7\n\tM09O6byY4IGJ1PubAq3OnzhIr2WWUW0EKnTq02XjWNYGW9Ew8vqD2gjpR+ovbBL+\n\tIoAfZqojTlG8ulHcqhCKDQDw5QzZlfP+CgQ05wKCAAElAoIBAEFx7NG4RQwkVZ+m\n\tYB6XKNt7s23SHhLgVv+hnZsPJD00f7B/C0zjDq8mfhfw7vsz1IN1bbjl60JS3J3U\n\tp2ouUuujAtG92LZp2Gm/2rBljeFFeo0pMmuc+v32hjUqFWVrL9BkDK/y8C+It5C+\n\t0v0WjAKUVtJByUnX82bKODzcvvu2sCUD1FSlQHKgXcTzH3McbTr2L/5e9uSg2VyK\n\txP/pKxET+F7zDCd1JRe33MDHZX1sNZQHIig4mYxsieN4sYx0jXiNm9jkhCJlGchI\n\tNsNKhxH+dDFkQ5z+105UPQrgdi/QvkUBsD25A0mUVaLJkTudlcefj7YjkOmyeQBM\n\td2q/8V0CggCBANPRpPC96gZOMMI55Kr7lvxU2fx1KjGSUXDT2vxbeoNRQZ/2OSSy\n\tTUbKhKlQTUVbkwi03PbRQyjVcNX1E2+ILesdPPibqpz2RJdAZPeg3TM1Dmw4/uaf\n\trDR6+AGAnUGkpgjrHK9Y16p22J+cW/kAFagK+JRd30UshvmhC/om/M6TAoIAgQCi\n\tldA5TGrXOLrhxMVjx1GR4vHJaie2xhybUYg0wwBFYyepTb7w15d+OkDEBBCvzuCc\n\tBGRTgSYG5Wyne2fJyIjF+9v5N38N5DS72OVjFJr3Tq/6D6V4TsPQHhx2pp5C66VK\n\tD49IEeUKn67TqnPgTeoO9ojcf9iQEQjKyaAq3O6g3QKCAIB5RhQhzL4no/y4mMRj\n\tXJeS9p3ELVnIIxyG88Q81RLk12/419kqFkSW2pVVjyw4MEBpTwET4RFan3sRIWpF\n\tm8045lIe5vTgvyBPXcZnA8Qf6VA/v5m0YuLFem4M42pbzyoN65co3KHFmFwwArbY\n\tXaKemVx0GppHdNxESwKZggxZegKCAIB5RhQhzL4no/y4mMRjXJeS9p3ELVnIIxyG\n\t88Q81RLk12/419kqFkSW2pVVjyw4MEBpTwET4RFan3sRIWpFm8045lIe5vTgvyBP\n\tXcZnA8Qf6VA/v5m0YuLFem4M42pbzyoN65co3KHFmFwwArbYXaKemVx0GppHdNxE\n\tSwKZggxZegKCAIEAxS76gOvcwPa07qKqPJKa4a0Z4qnVcsyxYCs37rRKdI2zSkjO\n\tll62nAfcdEMiqhHFY95jmtJAvtM7EduATOOIjkvSSX0ajx9T6HII9b1h0VZdWXHE\n\tpggJZXMqGZfuWnHK6nDwQftWT0dbw2iI/0Gcr9CqET3TvhfnVGq6mEoxjQw=\n\t-----END RSA PRIVATE KEY-----\n\t> python -m puttykeys rsa_with_password.ppk password\n\t-----BEGIN RSA PRIVATE KEY-----\n\tMIIEpwIBAAKCAQEAzu7N8bHsE/YcprVuQPYA1+u+blTbsfGqsHqtcQ0jq8cVYno7\n\tsdO9t2/Z67fo0TqlPXYrhbihbNlmCIwY+Zfu+vQmfTI1M1PX/l93oMo9HhSmpHHM\n\tN0fuAsbqoHFvbS3zTZqMfJ9FEbMZPGmZd7hFv7P3szI1DnSvqSKK4MQBm1XD5uPm\n\tnbV5P7uUnY3izN+tu64RGu/xGQJJubc5V50tOVSUSkJav35DLsJAL7KGxTptFh+4\n\tVkT1BzFxFLP15OHFWeYBrGSCwxtRkmi27441ZjbF9puCZSYRdvq1j99iszq/vndE\n\t4HFto/OlgIzIntn+QqzxEErSmNm4y+E36nSmrwKCAAElAoIBACcmQqNZAyZe/oBn\n\tg4+/1qVj85hVPlIY9sdxJ7txMEMX050CXlITTWfkuoaKk9SOjfbfAVCmY7qlq4UT\n\tlgW09dxzYTpHxOAydPjF9AmpuIkmgGRM4XI+Cm86Y719Ppgdczgx/uclDREvuKqQ\n\thNF1466lgeOhtwK8ITusltCTyPPfc/T4EmMuBbOnoOJg3PgQXAsfVyy4oYc83nSH\n\tZgAGD3fBGRmyIgiZ0/0DjTwByyVwRKdghx/cuIqWT3f2XNxXGTPxnr0NmRosuA48\n\tFZZt6V+C8Zdd8Bnl1CUjuz7A3UyDb/Rxya/goSqL6I7OKP32bNa4s9CPScJnmnr2\n\tqrX+sJ0CggCBAO+nrDmC2Q0nZOz87ZgVcMei32Lqj2R2b52ZZhL/qNSJKo62uafq\n\tLJQ5iQ4s3tuIM+Gu2rrFGLw9T2njz5e5kBH2ywtWK0F8XPpJ9/MFw9VAwKFJh9yf\n\tKBfC74mCnQU42LMShuntZ19EmtQnAPVpI39bmifQxCmqjAAwXCbgJ6R5AoIAgQDd\n\tC89L6g27q+CeYcTfTxhtS7tPH2wSRXWCAYV46h10pOQ3wpH+8QAFTiZsDsowUpCO\n\tO7R8ewtEyMeHts4qMPMJmbAdATqFvGRBRle/hYVqCAsnsZDVPRqYXXLgnP3LwWIq\n\tn+AMUWa6fnVNQiWM0sSIwUKAg2y1WHM+7P+KtgrKZwKCAIADhUV5DxG1eDugKzE3\n\tttJx9M95XchpfuM1pxynh4kSJESoqrtlKDjcxL+iIV3bM6lHI59zkXgrWzxNYnXk\n\tSkc47wUYVUJNCKStYY0C0xK6VtY5mUppLjnnq2qcfngRyn41fXmD3z5kXNaq0Vnx\n\tMTSPhPvTiyw4mekB9/zDmUO6jgKCAIADhUV5DxG1eDugKzE3ttJx9M95XchpfuM1\n\tpxynh4kSJESoqrtlKDjcxL+iIV3bM6lHI59zkXgrWzxNYnXkSkc47wUYVUJNCKSt\n\tYY0C0xK6VtY5mUppLjnnq2qcfngRyn41fXmD3z5kXNaq0VnxMTSPhPvTiyw4mekB\n\t9/zDmUO6jgKCAIB+9XKigQiI9pSdihSOn8C2SWf5WeqmkudaH3k60wXKc1FDMI70\n\tfMQRSVichrCStw40Ihs8ftEwC5slBpQHMoJsRaP27xBauI082NFysZ1fQY9dArf9\n\tc/1qM8bpx5uaUfgkQCOIoI9/Eo2ao3jnhyTtU4YPih1GaiwgC4QYAkKgng==\n\t> cat rsa_with_password.ppk \n\tPuTTY-User-Key-File-2: ssh-rsa\n\tEncryption: aes256-cbc\n\tComment: rsa-key-20170919\n\tPublic-Lines: 6\n\tAAAAB3NzaC1yc2EAAAABJQAAAQEAzu7N8bHsE/YcprVuQPYA1+u+blTbsfGqsHqt\n\tcQ0jq8cVYno7sdO9t2/Z67fo0TqlPXYrhbihbNlmCIwY+Zfu+vQmfTI1M1PX/l93\n\toMo9HhSmpHHMN0fuAsbqoHFvbS3zTZqMfJ9FEbMZPGmZd7hFv7P3szI1DnSvqSKK\n\t4MQBm1XD5uPmnbV5P7uUnY3izN+tu64RGu/xGQJJubc5V50tOVSUSkJav35DLsJA\n\tL7KGxTptFh+4VkT1BzFxFLP15OHFWeYBrGSCwxtRkmi27441ZjbF9puCZSYRdvq1\n\tj99iszq/vndE4HFto/OlgIzIntn+QqzxEErSmNm4y+E36nSmrw==\n\tPrivate-Lines: 14\n\thyI46OuJkTN5nWU3DPLpvWqjHzyPdBM4jn7ewMa3B1+JCMt9CGhC4743+hZyOoOU\n\t07hszeUDeqphMqwWn7kEwP4oxKtF+CvZwBLiJQgE11hjZzodP8xpxMJFvlJPK+i4\n\tSBVSwIg8ZeAMon5GcmG/Z+FNIFPXyOvp7TI3HtRa7pOI3yQC6j9XSwZtXNzcUero\n\tj61bzaN6L1W4OKn8iWqMGEMsGPqhrqjeCWT4WcbsB51FOzc5z6Ag8HsBVW2Phsmo\n\t8MXJMd5BsFaFN60z6H59pSVc3/kxO8eLL8ZE1S/4vo1DtDfuYyAgqQnPqrkhdlPl\n\tfUpUWe0nv4UNRJfVkcSvNWsI36J1xbDEk31d5+punoH7UMm5+aVJ1yF0bjj8e7YR\n\t2tAxGqC9krgjWBrR2+4wuRnzrx58fRUZ3wwJeC8MZaxluXBogJaPCnval5iysYPf\n\tkWkH741+WfxspVCt5kXds3Za8ZySjxhXeBFyhQPe2USUhUnGmxoHEMB5951xklsP\n\tUW03DWDLwC8eepboFr4yZDjBmNxO5USaLMRiHCb/HcVOi0knUb1diMzMWVn0vJun\n\tmmzsMu5Ubs58GPZ9FNP9kEX09EV9ZZyM4g9uxvrQLwyFLRtBqyvRB6yd2+bodrnF\n\trNbvWg7L7og9gN1BRQeNVhQuY4MEq9eXKQVrqcfnglYSQZbq25/aRDbclUat5Cxb\n\t+voLf+ABYVBPFAlaNHaembU7aZ3yL2ot6O7QkF+zqhk0PdEx6PnPQ9pFdMJDTvVR\n\tr+GfWwQVb3Et+UvYyGrRGJz1NtJjr+ijuc1QbRUAB7M18jvw1HAU6macRSDiOPC9\n\tlYTXT74BiBH3gXgixu6uzoZ0Qe5pmDQB/RDRi7ka84kmP1lPoQvIPo4KUXhQVo98\n\tPrivate-MAC: d3bc43c3b1ade94c79d33ccc867a7e5a154e569a\n\t> cat rsa_no_password.ppk\n\tPuTTY-User-Key-File-2: ssh-rsa\n\tEncryption: none\n\tComment: rsa-key-20170709\n\tPublic-Lines: 6\n\tAAAAB3NzaC1yc2EAAAABJQAAAQEAhoafrxc4mPVaq7mMsKh+prcptxN2tQYIKein\n\thdgDYV2xI6/QHgueLyR0+FLOy3jDDjh9/BGACFT+YN/J6HuqcpYwdj8hBS7nhApd\n\t+NDAFitDBbg8+aY80SVpNGS6NAb+upTEvwGYYbV5VDLqlnV1Ib8kPmrIbR90U0pX\n\tJ8XBdzHgeqez1MT+coqdobpBL4aLMP62v4bj2Q4D1WP+86Evc/XkQAggTMdYYDEk\n\t4KJ+rEPZ98G7M09O6byY4IGJ1PubAq3OnzhIr2WWUW0EKnTq02XjWNYGW9Ew8vqD\n\t2gjpR+ovbBL+IoAfZqojTlG8ulHcqhCKDQDw5QzZlfP+CgQ05w==\n\tPrivate-Lines: 14\n\tAAABAEFx7NG4RQwkVZ+mYB6XKNt7s23SHhLgVv+hnZsPJD00f7B/C0zjDq8mfhfw\n\t7vsz1IN1bbjl60JS3J3Up2ouUuujAtG92LZp2Gm/2rBljeFFeo0pMmuc+v32hjUq\n\tFWVrL9BkDK/y8C+It5C+0v0WjAKUVtJByUnX82bKODzcvvu2sCUD1FSlQHKgXcTz\n\tH3McbTr2L/5e9uSg2VyKxP/pKxET+F7zDCd1JRe33MDHZX1sNZQHIig4mYxsieN4\n\tsYx0jXiNm9jkhCJlGchINsNKhxH+dDFkQ5z+105UPQrgdi/QvkUBsD25A0mUVaLJ\n\tkTudlcefj7YjkOmyeQBMd2q/8V0AAACBANPRpPC96gZOMMI55Kr7lvxU2fx1KjGS\n\tUXDT2vxbeoNRQZ/2OSSyTUbKhKlQTUVbkwi03PbRQyjVcNX1E2+ILesdPPibqpz2\n\tRJdAZPeg3TM1Dmw4/uafrDR6+AGAnUGkpgjrHK9Y16p22J+cW/kAFagK+JRd30Us\n\thvmhC/om/M6TAAAAgQCildA5TGrXOLrhxMVjx1GR4vHJaie2xhybUYg0wwBFYyep\n\tTb7w15d+OkDEBBCvzuCcBGRTgSYG5Wyne2fJyIjF+9v5N38N5DS72OVjFJr3Tq/6\n\tD6V4TsPQHhx2pp5C66VKD49IEeUKn67TqnPgTeoO9ojcf9iQEQjKyaAq3O6g3QAA\n\tAIEAxS76gOvcwPa07qKqPJKa4a0Z4qnVcsyxYCs37rRKdI2zSkjOll62nAfcdEMi\n\tqhHFY95jmtJAvtM7EduATOOIjkvSSX0ajx9T6HII9b1h0VZdWXHEpggJZXMqGZfu\n\tWnHK6nDwQftWT0dbw2iI/0Gcr9CqET3TvhfnVGq6mEoxjQw=\n\tPrivate-MAC: 28d9082a12e6bdadbddf336ea052ece653aec163\n\t-----END RSA PRIVATE KEY-----\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scriptjunkie/puttykeys.git", "keywords": "putty development", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "puttykeys", "package_url": "https://pypi.org/project/puttykeys/", "platform": "POSIX", "project_url": "https://pypi.org/project/puttykeys/", "project_urls": { "Homepage": "https://github.com/scriptjunkie/puttykeys.git" }, "release_url": "https://pypi.org/project/puttykeys/1.0.2/", "requires_dist": [ "cryptography" ], "requires_python": "", "summary": "Library to convert Putty private keys to OpenSSH format", "version": "1.0.2" }, "last_serial": 3232079, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "a52afcdcf0e43cb324d5fb16236b711b", "sha256": "050dc11d3f052e138c34ce3a9062bc12853315fcff3d4135cfe0c664785b79fe" }, "downloads": -1, "filename": "puttykeys-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a52afcdcf0e43cb324d5fb16236b711b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4057, "upload_time": "2017-09-23T20:12:15", "url": "https://files.pythonhosted.org/packages/26/bc/30e0b951d1e65d5aa895f2ec51bd53dcd702083c8175ef59c9d047e2bda3/puttykeys-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d67704c3768c73c109d2b5e05049085", "sha256": "3829091219468ba2ef64d77f597fdddaa3d031ab383292938c80d80e69bcea23" }, "downloads": -1, "filename": "puttykeys-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4d67704c3768c73c109d2b5e05049085", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3418, "upload_time": "2017-09-23T20:12:16", "url": "https://files.pythonhosted.org/packages/e8/8c/916093f43d7a210e80f416d0dd9e27853aed8161e2c8bfebba2db1d7951c/puttykeys-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "fbb3b5865eca19254c116fd6ed730aba", "sha256": "e097d86721c0cbf5b87db985d35268a90b72d65354c004a6bc61f9641d4e9b9f" }, "downloads": -1, "filename": "puttykeys-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fbb3b5865eca19254c116fd6ed730aba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11702, "upload_time": "2017-09-23T20:35:15", "url": "https://files.pythonhosted.org/packages/13/bb/f55dc32328c6067051664e3e6304d981cf7206112b897b4e06fcd9f902d0/puttykeys-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a6699d139d3efaef8a899c5e5eb3acd", "sha256": "115b089ab23f160df8720c904b4b85d7d6c8b7c5c328de09ee5302af0b023a55" }, "downloads": -1, "filename": "puttykeys-1.0.1.tar.gz", "has_sig": false, "md5_digest": "3a6699d139d3efaef8a899c5e5eb3acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7878, "upload_time": "2017-09-23T20:35:16", "url": "https://files.pythonhosted.org/packages/43/ab/dd53dee1c0626e93ae1002e49079e602c58e05a98863411077a604747543/puttykeys-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "14c041a6895642a09bb790e921f28363", "sha256": "fa223d6a2094270ace60d6d3483f9fc67f17fcb2e18ea024ba78ad59e2bc0acd" }, "downloads": -1, "filename": "puttykeys-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14c041a6895642a09bb790e921f28363", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11929, "upload_time": "2017-10-07T04:28:03", "url": "https://files.pythonhosted.org/packages/61/d3/55fade65bc6080180d0e347533924a5e7e3b090f9ba1e7b1ac0c41ff85c0/puttykeys-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f855a9ffa873cd7d51b4c5b19498269f", "sha256": "59ab160a9d640c743dfb7dd06bb5839597f9d9ec783f71e64e670a58f8117766" }, "downloads": -1, "filename": "puttykeys-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f855a9ffa873cd7d51b4c5b19498269f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8092, "upload_time": "2017-10-07T04:28:04", "url": "https://files.pythonhosted.org/packages/29/22/0b6b5f8205251db37c3e3dcdde425e42d3407360f5e99e11f65d83385ece/puttykeys-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14c041a6895642a09bb790e921f28363", "sha256": "fa223d6a2094270ace60d6d3483f9fc67f17fcb2e18ea024ba78ad59e2bc0acd" }, "downloads": -1, "filename": "puttykeys-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14c041a6895642a09bb790e921f28363", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11929, "upload_time": "2017-10-07T04:28:03", "url": "https://files.pythonhosted.org/packages/61/d3/55fade65bc6080180d0e347533924a5e7e3b090f9ba1e7b1ac0c41ff85c0/puttykeys-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f855a9ffa873cd7d51b4c5b19498269f", "sha256": "59ab160a9d640c743dfb7dd06bb5839597f9d9ec783f71e64e670a58f8117766" }, "downloads": -1, "filename": "puttykeys-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f855a9ffa873cd7d51b4c5b19498269f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8092, "upload_time": "2017-10-07T04:28:04", "url": "https://files.pythonhosted.org/packages/29/22/0b6b5f8205251db37c3e3dcdde425e42d3407360f5e99e11f65d83385ece/puttykeys-1.0.2.tar.gz" } ] }