A Ruby gem that automatically manages SSH config entries for AWS EC2 instances using instance tags.
ec2ssh is a Ruby gem that automatically manages SSH configuration for AWS EC2 instances. It queries AWS for running instances, uses their tags and metadata to generate SSH host entries, and updates your local SSH config file, simplifying access to cloud servers.
Developers, sysadmins, and DevOps engineers who regularly SSH into multiple AWS EC2 instances and want to automate hostname management.
It eliminates manual SSH config updates by dynamically syncing with your EC2 inventory, supports multi-account and multi-region setups, and offers customizable templates for host entries.
A ssh_config manager for AWS EC2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Dynamically generates SSH config entries from EC2 instance tags and metadata, eliminating manual updates as described in the README's use of 'Name' tags for Host descriptions.
Configures SSH access across multiple AWS profiles and regions in a single setup, shown in the .ec2ssh configuration example with profiles and regions lists.
Allows filtering instances by state, tags, or other AWS SDK criteria, enabling precise control over included instances, as demonstrated in the filters section of the README.
Inserts entries within marked blocks in ssh_config to prevent manual edits from being overwritten, ensuring user configurations are preserved, as highlighted in the ssh_config and mark lines section.
Requires Ruby and gem installation, which might not be standard in all development environments or for teams preferring languages like Python or Go for tooling.
Users must write and maintain a .ec2ssh file with ERB templates and AWS SDK filters, which can be error-prone and requires familiarity with Ruby syntax and AWS APIs.
The README notes that upgrading from version 3.x involves changes to the dotfile format and AWS SDK version, which could disrupt existing setups and require manual migration.
Only supports AWS EC2 instances, not other AWS services like ECS or Lambda, or cloud providers, restricting utility in hybrid or multi-cloud environments.