{ "info": { "author": "Szymon Bili\u0144ski", "author_email": "szymon.bilinski@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX", "Topic :: System :: Networking" ], "description": "# SSH config synchronisation for AWS\n\n[![Build Status](https://travis-ci.org/sbilinski/aws-ssh-sync.svg?branch=master)](https://travis-ci.org/sbilinski/aws-ssh-sync) \n[![PyPI version](https://badge.fury.io/py/aws-ssh-sync.svg)](https://badge.fury.io/py/aws-ssh-sync)\n\nGenerate `ssh_config` files, based on current [Amazon EC2](https://aws.amazon.com/ec2/) state.\n\n## Features\n\n* Connect to one or more regions at once.\n* Filter EC2 instances by name. Useful for including relevant nodes only or for creating separate config sets for the same environment (e.g. use a different `User` for different nodes).\n* Identify hosts using tags or instance IDs:\n * Index duplicates (e.g. in autoscaling groups) using instance launch time.\n * Include a global name prefix and/or a region ID to identify the connection in a unique way.\n* Use public or private IPs.\n* Set various SSH params:\n * Skip strict host checking, if needed. Can be useful when working with (internal) autoscaling groups.\n * Provide a server alive interval to keep the connection from timing out.\n * Use custom identity files.\n * Setup a proxy command for utilizing jump hosts.\n * ...\n* Write to `stdout` or a [master file with config-key substitution](#file-output). Useful for working with tools, that don't support the `Include` directive.\n\n## Installation\n\nYou can install the latest package using `pip`:\n\n```bash\npip install aws-ssh-sync\n```\n\n## Usage\n\nTo get a full list of options:\n```bash\naws_ssh_sync --help\n```\n\n### Preview\n\nThe easiest way to get a **preview** of the current config in AWS is to print the output directly to `stdout`:\n\n```bash\naws_ssh_sync --profile --region \n```\n\n### Utilising the 'Include' directive\n\nIf you want to **isolate** the generated config, you can write it to a dedicated file, and `Include` it in the main config. The base use-case is as follows:\n\n```bash\naws_ssh_sync --profile --region > ~/.ssh/config.d/\n```\n\nTo extend your `~/.ssh/config`, add the following line:\n\n```\nInclude config.d/*\n```\n\n### Working with a single config file\n\nSplitting config into multiple, small files keeps things elegant and clean - you should probably stick to that, if you can. \n\nUnfortunatelly, some tools may still have trouble with the `Include` directive itself. If you want to use a single file (e.g. `~/.ssh/config`) for keeping all configuration, then you can specify the `--output-file` together with a `--config-key`:\n\n```bash\naws_ssh_sync --profile --region --config-key --output-file \n``` \n\nBehaviour:\n\n* Configuration is written to the `--output-file` rather than `stdout`.\n* If the file doesn't exist, then it will be created.\n* If a section identified by `--config-key` exists, then it will be replaced. \n* If no `--config-key` was found, then a new section will be appended to the file.\n* **No backup file is created at the moment.**\n\n## References\n\n* [Origin, motivation and acknowledgements](http://mintbeans.com/aws-ssh-sync/) - blog post.\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/sbilinski/aws-ssh-sync", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aws-ssh-sync", "package_url": "https://pypi.org/project/aws-ssh-sync/", "platform": "", "project_url": "https://pypi.org/project/aws-ssh-sync/", "project_urls": { "Homepage": "https://github.com/sbilinski/aws-ssh-sync" }, "release_url": "https://pypi.org/project/aws-ssh-sync/0.3.0/", "requires_dist": [ "boto3 (>=1.9)" ], "requires_python": ">=3.6", "summary": "Generate 'ssh_config' files, based on current Amazon EC2 state.", "version": "0.3.0" }, "last_serial": 5830118, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3d1ce200d31a266caffd12609bd8b2aa", "sha256": "aa696324c8a54cf7ad90ee6518e399babf75f78569ff4a6def99eede8f2e7505" }, "downloads": -1, "filename": "aws_ssh_sync-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3d1ce200d31a266caffd12609bd8b2aa", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6527, "upload_time": "2019-09-02T19:42:48", "url": "https://files.pythonhosted.org/packages/c8/6a/e6b67c776f16d01cfbb79f832341e64e107aac1f1671a578321cb07d2bbe/aws_ssh_sync-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "538e67d0553f5550e3c3e0184f5bcd79", "sha256": "4f443b5715a47843e91e2592a20b6bd947a83ae23007b7bdffb372717e095c75" }, "downloads": -1, "filename": "aws-ssh-sync-0.0.1.tar.gz", "has_sig": false, "md5_digest": "538e67d0553f5550e3c3e0184f5bcd79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7427, "upload_time": "2019-09-02T19:42:44", "url": "https://files.pythonhosted.org/packages/5e/e3/0a5ddd50f20121aad7486d6682f6742e23d6d0fd9c264898f1fb2312b52c/aws-ssh-sync-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "fcf6c47ecbba9adc8febebc968cef5f5", "sha256": "bce7e999d338a815a3ae4f6127d48d82dddfe135ceb19b40ec03c3ae98996cc9" }, "downloads": -1, "filename": "aws_ssh_sync-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fcf6c47ecbba9adc8febebc968cef5f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10200, "upload_time": "2019-09-02T21:19:25", "url": "https://files.pythonhosted.org/packages/c2/12/1000919179077fb1aa8411d606f2195629689d4f774cffd4b5c0a41aee7f/aws_ssh_sync-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "342033e87b4437dce6cf4718458270d5", "sha256": "3dce3b392856a3af524563ec58a4f5a01a8e456e09598d35b0a9f7b2673e8ef0" }, "downloads": -1, "filename": "aws-ssh-sync-0.1.0.tar.gz", "has_sig": false, "md5_digest": "342033e87b4437dce6cf4718458270d5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7446, "upload_time": "2019-09-02T21:19:27", "url": "https://files.pythonhosted.org/packages/39/a3/681878c9c3828608c0f9ea56407a21db66cf49ab4d39e25ca67aa919feb2/aws-ssh-sync-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e0b786500428cbec0849e4cb5802d4ff", "sha256": "762ea05f3b7f7a55e7995ad84f7edc87768234fa69a7e2d6d74940b474349dd6" }, "downloads": -1, "filename": "aws_ssh_sync-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e0b786500428cbec0849e4cb5802d4ff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10363, "upload_time": "2019-09-04T21:02:31", "url": "https://files.pythonhosted.org/packages/e2/b2/d507976f0a3e77317ed957ea3dae07753d8999e6f430c37a501ade4a1792/aws_ssh_sync-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf93d5830e8fcd26c92adf5f569340fd", "sha256": "d23c391795dd2f8fef3dd82831f2b8b8d25769b7c59bfd743d58b8fcacfb2e51" }, "downloads": -1, "filename": "aws-ssh-sync-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cf93d5830e8fcd26c92adf5f569340fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7553, "upload_time": "2019-09-04T21:02:32", "url": "https://files.pythonhosted.org/packages/46/eb/d34507b141f142aa16d59d6faf42c5335bced8501a12bb66caeefe2ef2ce/aws-ssh-sync-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e18730509d5c3e602755e1a42a9578b0", "sha256": "48de27475f257770ef7713d5a3cbc844352f0350a0ec0dc98505b57ef6599e7c" }, "downloads": -1, "filename": "aws_ssh_sync-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e18730509d5c3e602755e1a42a9578b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10553, "upload_time": "2019-09-14T20:28:19", "url": "https://files.pythonhosted.org/packages/31/39/d952ed9fdd1be2723bf4f6661ff9e4dc5151fde993bc5e6b8b6fdc72e88a/aws_ssh_sync-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4cb337bf916e2bc62a2d7ea9272f9ebe", "sha256": "5c6cf8c24d547fbf9fb45e995cde2ccde32cb6a97dc93c8331d393d23f3d1e11" }, "downloads": -1, "filename": "aws-ssh-sync-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4cb337bf916e2bc62a2d7ea9272f9ebe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7846, "upload_time": "2019-09-14T20:28:21", "url": "https://files.pythonhosted.org/packages/aa/9e/1c43cbbbb356302999d99eed60b6fd25a83b4205da4c990108fb5c47f72b/aws-ssh-sync-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e18730509d5c3e602755e1a42a9578b0", "sha256": "48de27475f257770ef7713d5a3cbc844352f0350a0ec0dc98505b57ef6599e7c" }, "downloads": -1, "filename": "aws_ssh_sync-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e18730509d5c3e602755e1a42a9578b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10553, "upload_time": "2019-09-14T20:28:19", "url": "https://files.pythonhosted.org/packages/31/39/d952ed9fdd1be2723bf4f6661ff9e4dc5151fde993bc5e6b8b6fdc72e88a/aws_ssh_sync-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4cb337bf916e2bc62a2d7ea9272f9ebe", "sha256": "5c6cf8c24d547fbf9fb45e995cde2ccde32cb6a97dc93c8331d393d23f3d1e11" }, "downloads": -1, "filename": "aws-ssh-sync-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4cb337bf916e2bc62a2d7ea9272f9ebe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7846, "upload_time": "2019-09-14T20:28:21", "url": "https://files.pythonhosted.org/packages/aa/9e/1c43cbbbb356302999d99eed60b6fd25a83b4205da4c990108fb5c47f72b/aws-ssh-sync-0.3.0.tar.gz" } ] }