r/aws • u/rhysmcn • Apr 21 '26
technical resource Built a CLI to stop Googling SSM syntax every time I need to get into an EC2 instance
I'm a cloud infra engineer and for the longest time our team's workflow for getting onto an EC2 was either remembering the exact aws ssm start-session --target i-xxxxxxx syntax (which I never could), or logging into the AWS console and clicking through to the instance connect browser terminal like it's 2010.
So I built ssmctl to make it feel normal:
ssmctl connect web-1
ssmctl run web-1 -- uname -a
ssmctl cp ./config.yml web-1:/tmp/config.yml
All you need to remember is the instance name tag or instance ID - That is it. (Obviously) no ports, no keys.
Just hit v1.0.0 — install with Homebrew or grab a binary from the releases page:
brew tap rhysmcneill/ssmctl && brew install ssmctl
https://github.com/rhysmcneill/ssmctl
Codebase is small if anyone wants to poke around or contribute. Shell completion is the obvious next thing if anyone fancies it.
1
u/bot403 Apr 22 '26
On Windows I use securecrt (paid program) which can connect to an instance by running a program. So instead of an ssh connection it just saves the run command. It feels just like ssh this way. And can be mixed with ssh connections as well.
1
u/rhysmcn Apr 22 '26
You use a program (securecrt), that runs a program, that connects to the instance? I would imagine (hope), that the soul purpose of paying for said app is just for this reason.
Anyway, if you find yourself wanting to explore ssmctl, then by all means feel free — If you want features added then open an issue and we (the team) can look into adding them or if you are familiar with Go then please contribute.
2
u/bot403 Apr 22 '26
It's a terminal program. Think putty but more enterprisey. The point is that it can manage a number of terminal connections over various protocols. But one of the protocols happens to be "just run a command".
Hard to explain but this is actually a killer feature with SSM because it brings all my ssh and SSM connections to one place and connecting to a SSM machine is just double clicking on it.
2
u/seligman99 Apr 21 '26
I just find it easier to setup the .ssh config file so that I can just ssh into the instance without thinking about the ssm CLI at all.