{ "info": { "author": "Yoichi Kawasaki", "author_email": "yoichi.kawasaki@outlook.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Utilities" ], "description": "Azure SSH Config (azuresshconfig)\r\n=================================\r\n\r\nGenerate SSH config file from Azure ARM VM inventry in subscription\r\n\r\nIntroduction\r\n------------\r\n\r\nazuresshconfig is a simple script that collects Azure ARM Virtual\r\nMachine(VM) inventry in subscription and generate a SSH config entries\r\nto be appended to $HOME/.ssh/config (the file is newly created if no\r\nexist). This is like an Azure version of `ec2ssh`_ or `aws-ssh-config`_\r\nthat strongly inspired this initiative. This would be very helpful when\r\nyou manage lots of VMs that have dynamic IP assignment settings and need\r\nfrequent VM up-and-down operations for them which causes the change of\r\nIPs assigned to VMs. In such a case, azuresshconfig will definitly make\r\nyour SSH life easy.\r\n\r\nInstallation\r\n------------\r\n\r\n::\r\n\r\n pip install azuresshconfig\r\n\r\nConfiguration\r\n-------------\r\n\r\nGenerate client profile template file by executing the following\r\ncommand.\r\n\r\n::\r\n\r\n azuresshconfig --init\r\n\r\nConfigure the client profile file, in which you add your service\r\nprincipal account info to access your resources in Azure via Azure APIs.\r\n\r\n::\r\n\r\n vi $HOME/.azure/azuresshconfig.json\r\n\r\n {\r\n \"subscription_id\": \"\",\r\n \"client_id\": \"\",\r\n \"client_scret\": \"\",\r\n \"tenant_id\": \"\"\r\n }\r\n\r\nFor those who don\u2019t know how to create service principal, there is a\r\ngreat instruction: `Use Azure CLI to create a service principal to\r\naccess resources`_. If you have Azure CLI 2.0 command installed on your\r\nevironment, you can create your service principal and configure its\r\naccess to your azure resources with a single command \u2018az ad sp\r\ncreate-for-rbac\u2019.\r\n\r\nSuppose your app id uri is \u2018http://unofficialism.info\u2019 and role you want\r\nto give for the app is \u2018Reader\u2019, you can create your service principal\r\nlike this:\r\n\r\n::\r\n\r\n az ad sp create-for-rbac -n \"http://unofficialism.info\" --role reader\r\n\r\nYou will get an output like this, and with them you can fill out the\r\nclient profile file:\r\n\r\n::\r\n\r\n {\r\n \"appId\": \"c36x4b4f-bef6-422e-bd3b-65057e7ab065\", # -> client_id in client profile file\r\n \"displayName\": \"azure-cli-2017-03-30-05-16-59\", \r\n \"name\": \"http://unofficialism.info\",\r\n \"password\": \"32126d32-7453-4053-3353-c420d4ffef2e\", # -> client_scret in client profile file\r\n \"tenant\": \"72f988bf-86f1-41af-91cb-2d7cd011db47\" # -> tenant_id in client profile file\r\n }\r\n\r\nFor the detail of service principal role, please refer to `Built-in\r\nroles for Azure Role-Based Access Control`_.\r\n\r\nUsage\r\n-----\r\n\r\nAssuming all required packages are installed and rightly configured,\r\nyou\u2019re ready to run azuresshconfig\r\n\r\n\\`\\`\\` azuresshconfig \u2013help\r\n\r\nusage: azuresshconfig.py [-h] [\u2013version] [\u2013init] [\u2013profile PROFILE]\r\n[\u2013output OUT\r\n\r\n.. _ec2ssh: https://github.com/mirakui/ec2ssh\r\n.. _aws-ssh-config: https://github.com/gianlucaborello/aws-ssh-config\r\n.. _Use Azure CLI to create a service principal to access resources: https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal-cli/\r\n.. _Built-in roles for Azure Role-Based Access Control: https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yokawasa/azure-ssh-config", "keywords": "azure ssh config", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "azuresshconfig", "package_url": "https://pypi.org/project/azuresshconfig/", "platform": "any", "project_url": "https://pypi.org/project/azuresshconfig/", "project_urls": { "Homepage": "https://github.com/yokawasa/azure-ssh-config" }, "release_url": "https://pypi.org/project/azuresshconfig/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Generate SSH config file from Azure ARM VM inventry in subscription", "version": "0.3.0" }, "last_serial": 2849058, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4401adb8c0d964a5e7ffb0f4cc0c79d8", "sha256": "af1495d1bdc03d7f42815e09ccd5cf2cb452e011caac74b69e453bb02ecb7002" }, "downloads": -1, "filename": "azuresshconfig-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4401adb8c0d964a5e7ffb0f4cc0c79d8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16900, "upload_time": "2016-10-08T07:48:08", "url": "https://files.pythonhosted.org/packages/09/cf/34fe3cd00e4f5bbfe94274bbad151e8638aa5d7f847fe68c5bc076f72f3f/azuresshconfig-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc4cfb36009c850ff41fa5b7d8497381", "sha256": "f1ed30c6611e790ff106c8a64b3bb68a43a51002e65abe9884971164425c7516" }, "downloads": -1, "filename": "azuresshconfig-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fc4cfb36009c850ff41fa5b7d8497381", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4685, "upload_time": "2016-10-08T07:48:04", "url": "https://files.pythonhosted.org/packages/d2/69/dbaafa513e5bf0083409cc255990efbd7eaa6b247a89042f0012a16b7c79/azuresshconfig-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "458322e79c0e45d466085146ba13ae67", "sha256": "9d1c21c458149cf3781415c85d9a8442b8819a50b616cb3488661cad982eaae4" }, "downloads": -1, "filename": "azuresshconfig-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "458322e79c0e45d466085146ba13ae67", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16919, "upload_time": "2016-10-11T12:41:01", "url": "https://files.pythonhosted.org/packages/d1/a4/00acadbde3b99c29ea839badddb2137548a935da06529a70f5e940b97c2b/azuresshconfig-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1eaa0b21f3c44e54f12a6c9edf08f232", "sha256": "c1649233381f0c6c36f853ccec166b21ce5ce69bba1a265b3fe1417719598e74" }, "downloads": -1, "filename": "azuresshconfig-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1eaa0b21f3c44e54f12a6c9edf08f232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4685, "upload_time": "2016-10-11T12:40:59", "url": "https://files.pythonhosted.org/packages/1d/ce/604c45c0dac0bcf2e6ae4b0f49237d277dab8a37a1722c8d4443544ef967/azuresshconfig-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "aa417a521d4283c72ae640ab607b39e1", "sha256": "e8c6ae43778133ed66ff6e38982a80f0c9c46c13847084ab5d9232f8b200f049" }, "downloads": -1, "filename": "azuresshconfig-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "aa417a521d4283c72ae640ab607b39e1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18762, "upload_time": "2016-10-30T22:39:23", "url": "https://files.pythonhosted.org/packages/df/09/1f82f17e852b9803be144dee1752219cf88594ee721b9faa2ebd6b9606a6/azuresshconfig-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b851d9fc06de252b1b3154ebf9ea9aa", "sha256": "b4394aefc3e20638cb3c70a9da87772912f7910cb0469a5265d569d94f413350" }, "downloads": -1, "filename": "azuresshconfig-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7b851d9fc06de252b1b3154ebf9ea9aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5397, "upload_time": "2016-10-30T22:39:20", "url": "https://files.pythonhosted.org/packages/c1/c8/9592de1bf89e8416c42ca1b7d240f731276ca0e0f13a7ce39ef7e145700c/azuresshconfig-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4cca76d486a248a2b0031e46e5ce30a5", "sha256": "0d8a1ccbb3d2a30449f30e51a4f5a76471d34f2b6ca1d766899fbc739f4cee7c" }, "downloads": -1, "filename": "azuresshconfig-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "4cca76d486a248a2b0031e46e5ce30a5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18824, "upload_time": "2017-02-12T00:30:20", "url": "https://files.pythonhosted.org/packages/3a/60/4da1aef6970860c58d880f6a5c410c8db56120ccc4a62ad930d623f83f86/azuresshconfig-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62ef720b1c5e281a33d344f23b6b4cf8", "sha256": "c568b254db8af8fb84c475225a83f365f32c3de1a121f1b3eaaff59d98b70bd9" }, "downloads": -1, "filename": "azuresshconfig-0.2.1.tar.gz", "has_sig": false, "md5_digest": "62ef720b1c5e281a33d344f23b6b4cf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5403, "upload_time": "2017-02-12T00:30:18", "url": "https://files.pythonhosted.org/packages/b1/09/cbc22628a58fb51b78384fff1d17ca6027c8558823a98458b97747bb3d8a/azuresshconfig-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "7bec079f25941cdf601c591798ba9dd1", "sha256": "b474077d0fde608154073771df86dab015128efa9efba6d3872d313180d6ece2" }, "downloads": -1, "filename": "azuresshconfig-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "7bec079f25941cdf601c591798ba9dd1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18844, "upload_time": "2017-02-12T00:56:04", "url": "https://files.pythonhosted.org/packages/7b/09/4d8c5a707e862c5634fcb477ac1b5716b4ab08739543d04ee383c7b61be4/azuresshconfig-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b01691cccfbe6a110fc9cb9ad8270b36", "sha256": "7371a7b2ec3a24be6320e376c194a30531e6a8fb4617144bf2c80fff0d1052d4" }, "downloads": -1, "filename": "azuresshconfig-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b01691cccfbe6a110fc9cb9ad8270b36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5397, "upload_time": "2017-02-12T00:56:03", "url": "https://files.pythonhosted.org/packages/4d/df/18135efde3c48bc28cf5399fbcc98c7db2a73095833fe99b5a8facf93fc1/azuresshconfig-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "dc11c3fc5c728fe1c471408c5acfb7a5", "sha256": "705d1b5c5c8830418c09ded4b8fd35750f5ab8abb2ce857037f363665368b776" }, "downloads": -1, "filename": "azuresshconfig-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "dc11c3fc5c728fe1c471408c5acfb7a5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19258, "upload_time": "2017-02-15T00:12:11", "url": "https://files.pythonhosted.org/packages/d0/33/2525a616a2280f5afa13e4841919176ae232bdc999bd6d5ce2929f15243e/azuresshconfig-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1135cb4988ceab7f43b595551029f8b9", "sha256": "b64f702e53d1525f7f92a8aa53cf235880304366da363c2e6f280c6683d280de" }, "downloads": -1, "filename": "azuresshconfig-0.2.3.tar.gz", "has_sig": false, "md5_digest": "1135cb4988ceab7f43b595551029f8b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5494, "upload_time": "2017-02-15T00:12:10", "url": "https://files.pythonhosted.org/packages/87/3d/4f850ee4c767a103eba02f0d6ae631a9aea4be927e56e21abc4d40814a9d/azuresshconfig-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9200318c8944c177aa320d2562778808", "sha256": "40868e5b3c1d81b30bd144972b5a7e90e9b6285e4b36ff7140d0aeb69404bfee" }, "downloads": -1, "filename": "azuresshconfig-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9200318c8944c177aa320d2562778808", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 39899, "upload_time": "2017-04-29T23:50:52", "url": "https://files.pythonhosted.org/packages/3a/ee/f0a55d8c45d796d7ba8244821cdc8635612ee8daafdcc86f59767a728fec/azuresshconfig-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "417f1dc9626e3469f7b292305181f4ba", "sha256": "39e4df8ecbabc1751c124a29a7440b06f3a14585d0943cf04163b6a79358d4da" }, "downloads": -1, "filename": "azuresshconfig-0.3.0.tar.gz", "has_sig": false, "md5_digest": "417f1dc9626e3469f7b292305181f4ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11394, "upload_time": "2017-04-29T23:50:50", "url": "https://files.pythonhosted.org/packages/f8/1c/eacb81651f25db62c23f73b1e02fde5329b9bb6cdefb0a92dc07ce012742/azuresshconfig-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9200318c8944c177aa320d2562778808", "sha256": "40868e5b3c1d81b30bd144972b5a7e90e9b6285e4b36ff7140d0aeb69404bfee" }, "downloads": -1, "filename": "azuresshconfig-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9200318c8944c177aa320d2562778808", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 39899, "upload_time": "2017-04-29T23:50:52", "url": "https://files.pythonhosted.org/packages/3a/ee/f0a55d8c45d796d7ba8244821cdc8635612ee8daafdcc86f59767a728fec/azuresshconfig-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "417f1dc9626e3469f7b292305181f4ba", "sha256": "39e4df8ecbabc1751c124a29a7440b06f3a14585d0943cf04163b6a79358d4da" }, "downloads": -1, "filename": "azuresshconfig-0.3.0.tar.gz", "has_sig": false, "md5_digest": "417f1dc9626e3469f7b292305181f4ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11394, "upload_time": "2017-04-29T23:50:50", "url": "https://files.pythonhosted.org/packages/f8/1c/eacb81651f25db62c23f73b1e02fde5329b9bb6cdefb0a92dc07ce012742/azuresshconfig-0.3.0.tar.gz" } ] }