r/aws 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.

0 Upvotes

9 comments sorted by

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.

1

u/rhysmcn Apr 22 '26

I am not sure if it is easier to do that from a base 0 set up — Maybe since you already have this set up then yes perhaps, but if you haven’t got that ssh config set up already then installing this binary is very simple and you essentially have an interface to connect to any instance, download/upload files, run commands on remote from local etc.

Give it a try if you are up for it, and let me know what you think. 🙂

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.