Azure Bastion session recording vs shellz
Azure Bastion records sessions only on its Premium tier, which lists at $0.45 an hour, about $328.50 a month per host. Recordings are video you watch in the Azure portal, and sessions from a local SSH client aren't recorded. Bastion is Microsoft's managed gateway for reaching Azure VMs over RDP or SSH without public IPs. shellz records the terminal on the Linux VM itself, as a replay plus searchable text, and is free for 10 active devices.
Choose shellz if
- Your VMs run Linux and you want recordings you can search as text.
- People connect with their own SSH client, over a VPN, or with
az network bastion ssh. - Recordings must be locked against deletion. Bastion requires those locks to be off on its storage container.
- You have several Azure networks (VNets) or machines outside Azure, and a Premium host for each would dominate the bill.
Choose Azure Bastion if
- You want RDP and SSH to Azure VMs with no public IP and nothing installed on the VM.
- You need Windows sessions recorded. shellz has no Windows or macOS support.
- Access already runs through Entra ID, Azure role-based access and the portal.
- You need to force-disconnect a user from the portal.
At a glance
| Capability | shellz | Azure Bastion |
|---|---|---|
| Tier needed to record | Every plan, including free | Premium only |
| List price | Free for 10 active devices. Commercial is $10/member monthly plus $1/GB stored | $0.45/hour per Premium host (about $328.50 a month), plus storage and data transfer |
| Recording format | Terminal replay and text transcript | Video, played in the Azure portal |
| Sessions from a local SSH client | Yes, any SSH client | No, Microsoft says these aren't recorded |
| Sessions that don't go through Bastion | Yes, recorded on the VM | No |
| Search by command | Yes, plus user, IP, server and container | No command search documented |
| Remote commands, file transfers, `docker exec` | Yes, each as its own session | Partial: video only, and file uploads use the local client, which isn't recorded |
| Serial console and local logins | Yes | No, these don't go through Bastion |
| Locked (immutable) storage | Yes, write-once with a retention lock | No, locks and blob versioning must be off |
| Proof a recording wasn't edited | Yes, each session is signed and checked | Not documented |
| Live sessions | Partial: watch about a second behind, but can't end the session | Partial: list users and force-disconnect; no documented live view |
| RDP and Windows VMs | No | Yes |
| Software on each VM | Required | None |
| Where recording works | Linux with systemd, in any cloud or on-prem | VMs in the Bastion network or one peered directly to it |
Recording requires Premium, which costs $116.80 more per host each month than Standard
Bastion bills by the hour from the moment it's deployed, whether or not anyone connects. These are list rates for East US, West US 2, West Europe and UK South on 3 November 2026, with a month counted as 730 hours.
- Developer: free, with no recording and no connections to peered networks.
- Basic: $0.19 an hour ($138.70 a month). No recording.
- Standard: $0.29 an hour ($211.70 a month), plus $102.20 a month per extra instance. No recording.
- Premium: $0.45 an hour ($328.50 a month) with two instances included, plus $160.60 a month per extra instance. The only tier that records.
- Each separate network needs its own Premium host. Three unconnected networks cost $985.50 a month, or $11,826 a year. Networks peered directly to one central network can share a host, plus peering charges.
- Video is stored in your own storage account and billed there.
Turning on recording means accepting Bastion's storage rules
Microsoft's recording docs list these requirements.
- You need a storage account and container for the videos, plus a cross-origin (CORS) rule and credentials that let Bastion write to it.
- The container can't have an immutability policy or blob versioning, so you can't lock recordings against deletion.
- Anyone who watches a recording needs read access to that storage.
- Recording applies to every session through the host. You can't choose which ones.
- Upgrading to Premium takes about 10 minutes. You can't downgrade, so going back means deleting and recreating the host.
- Entra ID sign-in for portal RDP doesn't work with recording turned on.
Sessions that don't pass through the portal are never recorded
Bastion can only record what goes through a recording-enabled host in the Azure portal. That leaves several gaps.
- Local SSH clients. Microsoft says recording isn't available for native-client sessions, including
az network bastion ssh. - Other routes in. SSH over a VPN, ExpressRoute or a public IP never touches Bastion.
- Machines outside Azure. Bastion can connect to on-prem machines by IP address, but recording only covers VMs in the Bastion network or one peered directly to it.
- Searching. Recordings are video, with no transcript or command search.
shellz records on the Linux VM, however the user connected
shellz runs on the VM and records after SSH has decrypted the session. That covers SSH from any client, su -, console logins, SFTP transfers, one-off remote commands, and container shells opened with docker exec. tmux and screen inside a session stay in its recording. If someone logs in a way that skips the recorder, the session is killed and flagged.
An AI agent that uses SSH is recorded like a person. Password prompts are never recorded. Recordings are signed and stored write-once, and every viewing is logged (security design).
shellz charges per team member, so more networks don't cost more
Commercial is $10 a member a month plus $1 per GB stored, with no limit on devices or retention. Five people cost $50 a month before storage, whether you have one network or ten. The free plan covers 10 active devices and keeps the newest 50 recordings. Personal Pro is $1 a month, billed annually, for 20 devices and 90 days of recordings (pricing).
shellz only records Linux terminals. It doesn't give you a private path to the VM, manage credentials, approve temporary access or issue SSH certificates. It doesn't record RDP, Windows, macOS, Kubernetes or database sessions. It can't block commands or end a live session, and it has no SIEM export, public API or self-hosted version. shellz hasn't published a SOC 2 report.
Bastion is the better fit for Windows and for VMs that must stay agent-free
Choose Bastion if you need Windows RDP recorded, can't install anything on the VMs, want a Bastion host with no public IP (Premium), or already manage access with Entra ID and Azure roles. The PAM vs session recording guide explains why getting in and keeping a record are separate decisions.
You can run both. Bastion provides the way in, and shellz on Linux VMs records the local-client and VPN sessions Bastion never sees. If you bought Premium only for recording, moving to Standard (which means recreating the host) saves $116.80 per host a month. For other clouds, see shellz vs AWS Session Manager and shellz vs Teleport.
Questions
Which Azure Bastion SKU records sessions?
Only Premium. It records RDP and SSH sessions opened through Bastion in the Azure portal, and saves the video to a storage container you provide.
How much does an Azure Bastion Premium host cost per month?
$0.45 an hour in East US, West US 2, West Europe and UK South, or $328.50 a month, with two instances included. Each extra instance is $160.60 a month. Storage and data transfer are billed separately.
Is az network bastion ssh recorded?
No. Microsoft says session recording isn't available for native-client sessions.
Can Bastion recordings go to an immutable blob container?
No. The container must have no immutability policy and no blob versioning.
Can one Premium host record sessions across several VNets?
Only for networks peered directly to the Bastion network, as in a hub-and-spoke setup. Each separate network needs its own Premium host.
How do I record Linux SSH on Azure without paying for Premium?
Install a recorder on the VM. shellz is free for 10 active devices, and Commercial is $10 a member a month plus $1/GB stored. Recording Windows RDP still needs Bastion Premium or a PAM product.
Related comparisons
- AWS Session Manager session recording vs shellz/compare/aws-session-manager
- Teleport vs shellz for SSH session recording/compare/teleport
- StrongDM alternatives now that StrongDM is part of Delinea/alternatives/strongdm
- PAM vs session recording: do you need a PAM suite yet?/guides/pam-vs-session-recording
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.
- Microsoft Learn: Record Bastion sessions
- Microsoft Learn: Choose the right Azure Bastion SKU
- Microsoft Learn: View or upgrade an Azure Bastion SKU
- Microsoft Learn: Azure Bastion FAQ (downgrade unsupported)
- Azure Bastion pricing
- Azure retail prices API: Azure Bastion meters
- Microsoft Learn: Azure Bastion session monitoring and management
- Microsoft Learn: Configure Bastion for native client connections
- Microsoft Learn: Azure Bastion IP-based connection
- Microsoft Learn: What's new in Azure Bastion
- Microsoft Learn: Azure Bastion cost optimization (regional price differences, 5 GB egress)