AWS Session Manager session recording vs shellz

AWS Session Manager lets engineers reach EC2 instances with port 22 closed, and it can save a text log of each session to S3 or CloudWatch Logs. According to AWS's docs, sessions that run SSH through Session Manager aren't logged. shellz records each session on the server itself, as a replay you can watch, however the user connected. You can keep Session Manager as the way in and add shellz for the record.

Get started freeHow shellz workslast verified

Choose shellz if

  • Your engineers run SSH through Session Manager tunnels, which AWS doesn't log.
  • You want sessions you can replay in a browser, where Session Manager gives you a text log.
  • Your servers span EC2, on-prem hardware and other clouds, and flat billing of $10 a member a month plus $1/GB fits.
  • You want tamper-evident recordings without setting up S3 Object Lock, KMS key policies and CloudTrail yourself.

Choose Session Manager if

  • All your servers run on EC2, and you want free shell access with port 22 closed and no SSH keys.
  • IAM already decides who reaches which instance, and a text log in S3 satisfies your auditor.
  • You run Windows Server, where AWS can record RDP sessions as video.
  • You need session logs in CloudWatch, EventBridge or a SIEM today. shellz has no SIEM export or public API yet.

At a glance

shellz vs AWS Systems Manager Session Manager, checked against AWS docs and pricing on 2026-11-03
CapabilityshellzAWS Session Manager
Price on EC2Free up to 10 active servers; Commercial is $10/member/mo + $1/GBFree; you pay for S3 and CloudWatch Logs storage
Price on on-prem and other-cloud serversSame plans$0.05 per session since September 30, 2026
What gets storedA replay plus a text transcriptA text log of commands and output
Replay in the browserYes, at any speedNo. Video only for Windows RDP, with paid just-in-time access
SSH tunnelled through Session ManagerYes, recorded on the serverNo, AWS doesn't log these
Direct SSH or EC2 Instance ConnectYesNo, these never pass through Session Manager
File transfers, one-off commands, `docker exec`Yes, all threePartial: one-off commands and ECS Exec log text; SFTP isn't logged
Watch a live sessionYes, about a second behindPartial: a log stream to CloudWatch, without interactive programs
Port 22 closed, no SSH keysNo, shellz doesn't provide a tunnelYes
Access control and approvalsNo, uses your existing IAM or SSH setupYes: IAM policies, plus paid just-in-time access
Root on the server tampering with recordingYes: changes reverted and alerted; recordings signedNo: logs aren't signed, and root can stop the SSM agent
Windows ServerNo, Linux onlyYes, including RDP video with just-in-time access
Alerts and SIEMEmail, Slack and webhook alerts; no SIEM export or API yetYes: EventBridge, SNS, CloudWatch and Security Lake

Session Manager doesn't log SSH sessions it carries

Instead of opening sessions in the AWS console, engineers can add a ProxyCommand line to their SSH config that sends SSH through Session Manager. Then ssh, scp, SFTP and VS Code Remote all work with port 22 closed.

AWS's logging docs say: "Logging isn't available for Session Manager sessions that connect through port forwarding or SSH." SSH encrypts the traffic inside the tunnel, so the SSM agent can only pass it along. CloudTrail shows that an engineer opened a tunnel at 14:03 UTC. Nothing shows what they did next.

EC2 Instance Connect, a WireGuard VPN and an emergency SSH key leave the same gap.

shellz records on the server, after SSH has decrypted the session. Tunnelled SSH, one-off remote commands, SFTP uploads, console logins, su - and docker exec are all recorded the same way. A login that tries to skip the recorder is killed and raises an alert. A CI bot or AI agent with an SSH key is recorded like a person.

Session Manager's text logs are hard to read back

For plain shell sessions, Session Manager can send commands and output to S3 or CloudWatch Logs. That's useful for searching and for triggering EventBridge rules.

Reconstructing an incident from that text is harder. Full-screen programs like vim and top come out as noise. AWS says Linux and macOS servers need screen installed, or the log may be cut short. Live streaming to CloudWatch doesn't support interactive commands. Typed secrets can end up in the log, so AWS suggests turning off terminal echo before typing them.

shellz saves a replay and a text transcript. You can watch live about a second behind, or replay at any speed. Password prompts such as sudo and passwd are never recorded.

Root on an instance can switch Session Manager logging off

A root user on an EC2 instance can stop the SSM agent, and its logging stops with it. On a shellz server, root changes to the recorder are undone within seconds. A server that goes quiet raises an alert within about a minute, and uninstalling needs approval in the dashboard.

Session Manager is free on EC2, but on-prem servers and approvals cost extra

On EC2 you pay only for S3 and CloudWatch Logs storage. Costs start when you add servers outside AWS or approval workflows.

  • Servers outside AWS. Since September 30, 2026, each Session Manager session on an on-prem or other-cloud server costs $0.05. Registering those servers is free.
  • Just-in-time (JIT) node access. This adds an approval step before someone can connect. It costs $0.0137 per server per hour. It's switched on for a whole AWS account, so every managed server is billed once the free trial ends.
  • Windows RDP video. Included with JIT node access, but you have to set up an S3 bucket and a KMS encryption key with specific permissions.
  • Example month: 50 EC2 instances, 20 on-prem Linux servers, five engineers and 400 sessions on the on-prem servers. JIT on the EC2 instances costs $500.05. The on-prem servers add $255.50 if they stay registered all month, plus $20 for sessions. shellz Commercial for the same five engineers on all 70 servers is $50 plus $1/GB stored.

If everything is on EC2 and text logs pass your audit, Session Manager is enough

If every server is on EC2, nobody tunnels SSH, and a locked text log in S3 meets your audit control, you don't need another tool. Session Manager removes open ports, bastion hosts and SSH key handling for free. It covers Windows Server and macOS, feeds CloudWatch and Security Lake, and is covered by AWS's compliance reports, including SOC 2, ISO 27001, PCI DSS and FedRAMP High. For Azure, see shellz vs Azure Bastion.

Use Session Manager to get in and shellz to keep the record

Keep Session Manager and IAM as the only way onto your instances. Engineers' SSH tunnel setups don't change. Each session is encrypted on the instance before upload. With Perfect Secrecy, the decryption key stays on your team's passkeys, so shellz can't read recordings (security design, pricing).

shellz has limits on AWS. It has no SIEM export or public API yet, runs only on systemd-based Linux, and is a newer vendor without its own SOC 2 report. See also the PAM vs session recording guide and Tailscale SSH recording alternatives.

  • Install by adding one line to the instance's UserData script: curl -fsSL https://get.shellz.dev | sudo sh -s -- szt_...

Questions

Does AWS Session Manager record terminal sessions as video?

Not for Linux or macOS. It saves a text log of commands and output to S3 or CloudWatch Logs. The only video recording is for Windows RDP, which needs paid just-in-time node access.

Why are my SSH sessions through Session Manager not showing up in S3 or CloudWatch?

AWS doesn't log sessions that run SSH or port forwarding through Session Manager, because SSH encrypts the traffic inside the tunnel. CloudTrail still shows that the session started. To record what happened in the shell, you need a recorder on the server, such as shellz.

What does AWS Session Manager cost for on-premises servers in 2026?

Registering on-prem and other-cloud servers has been free since June 30, 2026. Since September 30, 2026, each session on those servers costs $0.05, and each Run Command call costs $0.002. Sessions on EC2 are still free.

How is AWS Systems Manager just-in-time node access billed?

$0.0137 per server per hour for the first 72,000 server-hours a month, then $0.0103 up to 720,000. It's switched on for a whole AWS account, so every managed server is billed once the free trial ends.

Does AWS Session Manager redact passwords from session logs?

No. It logs output as it appears, so AWS suggests running stty -echo before typing a secret on Linux and macOS. shellz automatically skips hidden input at password prompts such as sudo and passwd.

Will shellz work if my EC2 instances have no public IP and port 22 is closed?

Yes, as long as the instance can make outbound HTTPS connections to upload recordings. Engineers connect through Session Manager as before, and shellz records on the instance.

Related comparisons

Sources

Competitor details come from public documentation and pricing pages, last checked on November 3, 2026. Products change; if something here is out of date, tell us at hello@shellz.dev and we will correct it.

  1. AWS docs: AWS Systems Manager Session Manager
  2. AWS docs: Enabling and disabling session logging (SSH and port forwarding not logged)
  3. AWS docs: Streaming session data using Amazon CloudWatch Logs
  4. AWS Systems Manager pricing (Session Manager, hybrid nodes, just-in-time node access)
  5. AWS docs: Recording RDP connections with just-in-time node access
~ $ shellz --helpOne command. Two minutes. Every session recorded.