{{ message }}
Repository navigation
Releases: ivoronin/ec2ssh
Releases · ivoronin/ec2ssh
Release list
2025.12.11
Changelog
- 9d6eb93 Add SSM RunCommand support for remote command execution
- c649db5 Consolidate build and homebrew workflows into build-and-release.yml
- 90ac323 Fix AMI filter to exclude minimal images without SSM agent
- 20c3145 Fixed build status badge
- 59f67ac Pin GoReleaser version to ~> v2
- e1577f5 Restructure CI workflow and use gotestsum for test output
- 474650d Update ssm-session-client to fix data corruption
2025.12.09
Changelog
- de10032 Add --version flag support
- fa9f1ad Add E2E test infrastructure with Terraform and testscript
- 74a1c02 Add IPv6 bracket handling with type-based address resolution
- a1e61d0 Add IPv6 support for EICE tunnel with fallback from private IPv4
- ea4202e Add IPv6-only E2E tests and consolidate test matrix
- 1839c8f Add SSH over SSM support (--use-ssm) and ec2ssm shell sessions
- 0734b25 Add ec2ssm intent for SSM Session Manager shell access
- 68ac367 Add strict parsing mode to argsieve and simplify error hierarchy
- 42e8d01 Add workflow_dispatch to homebrew workflow
- 797bef6 Bump golang.org/x/crypto from 0.43.0 to 0.45.0 (#112)
- 3c3e3b2 Change default address type order to public → ipv6 → private
- 4818542 Extract GetEICEAddr() for EICE tunnel address resolution
- faa9f64 Extract awsclient package and rename ec2 to ec2client
- 32d83d5 Fix dependabot auto-merge by adding --repo flag to gh pr merge
- 56baa07 Improve demo with SSM examples and inline descriptions
- 2a1eefe Infer address type from destination type for consistent connection behavior
- fad4bd5 Inline parseUserHost in scp.go
- a93b1b9 Move RunSSM from tunnel package to app package
- 773f2d2 Move argsieve to top-level internal package
- ed27613 Refactor argsieve to functional API with Sift() and Parse()
- b8b40bf Refactor target parsing into internal/ssh package with Target interface
- 4c60b82 Refactor tunnels to use CLI args instead of environment variables
- 5c5380c Reject extra positional arguments in SSM session
- 965b082 Remove mocks_test.go, use exported test helpers directly
- 9316334 Remove unused test helpers and imports
- ab1645e Rename IntentTunnel to IntentEICETunnel and --wscat to --eice-tunnel
- 07f9170 Reorder GetInstance args: destination first, optional type second
- e2f4ca0 Revamp README: position ec2ssh as Swiss Army knife for EC2 access
- f0adc78 Run go fmt on all files
- 582cb7e Simplify SCP error hierarchy and remove cli/errors.go
- 8524d1f Test rewrite
- 9fe22ca Use ivoronin/ssm-session-client fork with fixes
- a9e8640 Use pointer types for optional AddrType and DstType fields
2025.12.05
Changelog
- 1310f24 Add Dependabot auto-merge workflow and Homebrew tap integration
- 4897cda Add Homebrew installation instructions
- 3b0f348 Add SCP support with ec2scp command and --scp flag
- 21acd2e Add SFTP support with ec2sftp command and --sftp flag
- 3a2b8ea Add comprehensive test suite for EC2, tunnel, CLI, and session packages
- 35b6de5 Add explicit token for Homebrew tap push
- 171ea15 Add symlinks section to README
- e7c00ef Add workflow_dispatch trigger to goreleaser
- 5fb6ae2 Bump Go version to 1.25
- 2a4c5a0 Bump actions/checkout version
- ac15da1 Bump github.com/aws/aws-sdk-go-v2 from 1.27.2 to 1.30.1
- da2ed41 Bump github.com/aws/aws-sdk-go-v2 from 1.30.3 to 1.32.0
- 9293357 Bump github.com/aws/aws-sdk-go-v2/config from 1.27.11 to 1.27.18
- 674d659 Bump github.com/aws/aws-sdk-go-v2/config from 1.27.18 to 1.27.26
- ec814ec Bump github.com/aws/aws-sdk-go-v2/config from 1.27.26 to 1.29.6
- 7afad92 Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.156.0 to 1.164.1
- 13747ee Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.164.1 to 1.170.0
- 835cc87 Bump github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect
- 73529f5 Bump github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect
- 6ba021f Bump github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect
- 6671a06 Bump github.com/gorilla/websocket from 1.5.1 to 1.5.3
- 3af4d12 Bump the all-dependencies group across 1 directory with 3 updates
- a35dee8 Bump the all-dependencies group across 1 directory with 3 updates
- 828b471 Bump the all-dependencies group across 1 directory with 4 updates
- f6f7c57 Bump the all-dependencies group across 1 directory with 5 updates
- 436bed2 Bump the all-dependencies group with 4 updates
- 90608f3 Bump the all-dependencies group with 5 updates
- 5a8382c Compact help text and move to cmd/ec2ssh
- 6fc80e3 Enhance README with Why ec2ssh section, installation guide, and IAM permissions
- 1504f6f Extract argument parsing into argsieve package with struct-based binding
- 439c3ba Fix Homebrew cask hooks Ruby syntax
- bebf20c Fix goreleaser deprecations and switch to Homebrew cask
- f8c3c39 Fix passthrough short flag format preservation
- 244c3bf Fix race condition in integration tests
- 80e8589 Fix typo: generateKeypar -> generateKeypair
- ae3ae42 Introduce intent-based command dispatch
- 93777e3 Limited instance search to running instances
- 99f0b7a Merge pull request #101 from ivoronin/dependabot/go_modules/all-dependencies-64bf6bdf56
- ef0922a Merge pull request #102 from ivoronin/dependabot/go_modules/all-dependencies-eb634bb45d
- 38f56ea Merge pull request #104 from ivoronin/dependabot/go_modules/all-dependencies-6fae13c470
- 28f2a07 Merge pull request #107 from ivoronin/dependabot/go_modules/all-dependencies-9854e3a1ba
- bdf3afa Merge pull request #110 from ivoronin/dependabot/go_modules/all-dependencies-e158c10ac7
- ce471d8 Merge pull request #111 from ivoronin/dependabot/go_modules/all-dependencies-cbc5eb3ea9
- 456bc3f Merge pull request #51 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.27.18
- 5264a14 Merge pull request #54 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect-1.23.8
- 5712543 Merge pull request #56 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.164.1
- a94815a Merge pull request #57 from ivoronin/dependabot/go_modules/github.com/gorilla/websocket-1.5.3
- 88c6240 Merge pull request #63 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect-1.25.1
- ee4c62d Merge pull request #64 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2-1.30.1
- 4bfda8b Merge pull request #68 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.27.26
- a2aa388 Merge pull request #69 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.170.0
- 5c2b331 Merge pull request #94 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect-1.27.0
- 8b9f5e1 Merge pull request #97 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2-1.32.0
- 31315af Merge pull request #98 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.29.6
- d0d99b2 Modernize project: update workflows, replace Taskfile with Makefile, fix linting
- 4202267 Polish README with expanded feature sections
- 0e8c24e Refactor session handling
- b4ba7aa Remove auto-release on Dependabot merge
- becb4e7 Remove go install option from README
- 6f04827 Remove redundant platform list from README
- 7396183 Replace code example with demo GIF in README
- 7272f7a Restructure project to Go standard layout with cmd/ and internal/
- a3857e6 Switch from Homebrew Cask to Formula
- dfdec57 dependabot: group all updates
- 70a76b0 list: added availability zone column
2024.04.21
Changelog
- 964237f Added coverage.txt to .gitignore
- 408c723 Bump github.com/aws/aws-sdk-go-v2/config from 1.27.9 to 1.27.11
- 080d65c Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.152.0 to 1.156.0
- 34abf2f Bump github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect
- 42f7199 Bump golang.org/x/net from 0.19.0 to 0.23.0 in the go_modules group
- 2ea5d5b Merge pull request #33 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect-1.23.2
- e0c1d49 Merge pull request #34 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.27.11
- 6903a86 Merge pull request #35 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.156.0
- 7a2b5fc Merge pull request #36 from ivoronin/dependabot/go_modules/go_modules-b9ac453758
2024.03.24
Changelog
- 518ed37 Added example of using SSH arguments
- 99b9bcd Added support for *.ec2.internal and *.compute.internal private hostnames
- 5fadacc Added unknown-dst-type test
- 0492cdc Bump github.com/aws/aws-sdk-go-v2/config from 1.26.3 to 1.26.5
- 5d0e43b Bump github.com/aws/aws-sdk-go-v2/config from 1.26.5 to 1.26.6
- 2c4583a Bump github.com/aws/aws-sdk-go-v2/config from 1.26.6 to 1.27.9
- 0f8a1c9 Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.144.0 to 1.145.0
- c2b35eb Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.145.0 to 1.146.0
- 09327e0 Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.146.0 to 1.152.0
- 98e0338 Bump github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect
- 2735346 Bump github.com/stretchr/testify from 1.8.4 to 1.9.0
- 893298a Bumped go version to 1.22
- ff8fb21 Disabled perfsprint linter
- 4bd7529 Fixed linter exlude rules
- d343d37 Fixed tmp dir cleanup
- b8fd105 Merge pull request #18 from ivoronin/dependabot/go_modules/github.com/stretchr/testify-1.9.0
- 1837831 Merge pull request #25 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect-1.23.0
- 54b782d Merge pull request #27 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.27.9
- 0722f6e Merge pull request #28 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.152.0
- 6efbdd5 Merge pull request #6 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.26.5
- 740a544 Merge pull request #7 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.26.6
- babb65e Merge pull request #8 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.145.0
- bd9556c Merge pull request #9 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.146.0
- 23a64d0 Mimic ssh behavior by not stripping IPv6 brackets when destination is not in URL format
- 1e9c3e2 Removed whitespaces
- 5b0a63e Streamlined args to options mapping
2024.01.15
Changelog
- 146c7d9 Added optional debug logging
- 36f1d51 Bump github.com/aws/aws-sdk-go-v2/config from 1.26.2 to 1.26.3
- 7aef183 Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.142.0 to 1.142.1
- 1096786 Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.142.1 to 1.144.0
- 7190b72 Bump github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect
- b7dc442 Fix nil pointer access in debug logging
- 9f503ee Fixed typo
- a57b143 Merge pull request #1 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.26.3
- 2af57cf Merge pull request #3 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect-1.20.6
- 29a1143 Merge pull request #4 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.142.1
- af33460 Merge pull request #5 from ivoronin/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/ec2-1.144.0
- db1630d Reworked debug logging
2024.01.08
2024.01.07
Changelog
- 7790e7f Added demo
- 2b70931 Added dist to gitignore
- ceedd72 Bumped Go version to 1.21
- 3a26bea Bumped goreleaser-action version to v5
- fabc887 Bumped setup-go version to v5 and set required Go version
- 5a04cda Create LICENSE
- 8496a89 Create dependabot.yml
- eab5fa8 Moved linter settings to .golangci.yml
- 38e7926 ParseOpts tests
- 76ab05d Refactored command line option parsing code
- 1670480 Replaced Makefile with Taskfile
- 776e3bc Rework
- 4ad139d Switched demo to light theme
- 9e7a130 Update README.md
- 1055deb Updated go version in go.mod
- cdb0822 Updated go version in go.mod
- ea0430a go mod tidy
2024.01.02
Changelog
- f08b4d4 Add additional operating systems to goreleaser
- b75618e Added --region flag
- 3e4e139 Added IPv6 support
- ed0fee6 Added instance address type auto selection
- cf59ba7 Added option stop market detection
- 9cef5c7 Added option to not send keys
- e91029c Added port value check for EICE connections
- 57f5e40 Always use instance ID as HostKeyAlias
- 419c2a0 Enabled manual specification of destination type
- 55452bc Fix typo in function name
- f015616 Fixed missing newline
- 2b18aca Fixed usage help formatting
- f3fc343 Implement long options to control ec2ssh behavior
- f96a23b Improved error handling and messages
- 2e099b9 Improved usage help
- 22aa984 Improved wscat error reporting
- 0f6f4f9 Initial commit
- 224bcd7 Made AWS SDK to load config
- 7868991 Major rewrite: upgraded to AWS Go SDK v2, added EICE tunneling support and SSH key generation feature
- 4195fbb Merge getSSHPublicKey and sendSSHPublicKey functions
- 6c55d04 More help message clarifications
- f884f06 Moved args parsing code to it's own file
- 24c3e7a Moved ec2-related functions to their own file
- a4c6732 Refined parseArgs code
- df8042e Refined variable names
- 5c96ecb Removed unnecessary AWS_DEFAULT_REGION handling
- 5f55b6c Renamed DstTypeUnknown to DstTypeAuto
- b23db99 Renamed functions according to CamelCase style
- 3dd6cbf Reworked args parsing, added --profile flag
- 1caa16e Simplified address lookup code
- 0cf7436 Skip instance IP lookup when the user provides an IP address
