Features & tools for Azure Cloud Shell

Azure Cloud Shell is a browser-based shell experience to manage and develop Azure resources.

Cloud Shell offers a browser-accessible, pre-configured shell experience for managing Azure resources without the overhead of installing, versioning, and maintaining a machine yourself.

Cloud Shell allocates machines on a per-request basis and as a result machine state doesn't persist across sessions. Since Cloud Shell is built for interactive sessions, shells automatically terminate after 20 minutes of shell inactivity.

Azure Cloud Shell runs on Common Base Linux - Mariner (CBL-Mariner), Microsoft's Linux distribution for cloud-infrastructure-edge products and services.

Microsoft internally compiles all the packages included in the CBL-Mariner repository to help guard against supply chain attacks. Tooling has been updated to reflect the new base image CBL-Mariner. You can get a full list of installed package versions using the following command: tdnf list installed. If these changes affected your Cloud Shell environment, contact Azure Support or create an issue in the Cloud Shell repository.

Features

Secure automatic authentication

Cloud Shell securely and automatically authenticates account access for the Azure CLI and Azure PowerShell.

$HOME persistence across sessions

To persist files across sessions, Cloud Shell walks you through attaching an Azure file share on first launch. Once completed, Cloud Shell will automatically attach your storage (mounted as $HOME\clouddrive) for all future sessions. Additionally, your $HOME directory is persisted as an .img in your Azure File share. Files outside of $HOME and machine state aren't persisted across sessions. Use best practices when storing secrets such as SSH keys. Services, like Azure Key Vault, have tutorials for setup.

Learn more about persisting files in Cloud Shell.

Azure drive (Azure:)

PowerShell in Cloud Shell provides the Azure drive (Azure:). You can switch to the Azure drive with cd Azure: and back to your home directory with cd ~. The Azure drive enables easy discovery and navigation of Azure resources such as Compute, Network, Storage etc. similar to filesystem navigation. You can continue to use the familiar Azure PowerShell cmdlets to manage these resources regardless of the drive you are in. Any changes made to the Azure resources, either made directly in Azure portal or through Azure PowerShell cmdlets, are reflected in the Azure drive. You can run dir -Force to refresh your resources.

Screenshot of an Azure Cloud Shell being initialized and a list of directory resources.

Manage Exchange Online

PowerShell in Cloud Shell contains a private build of the Exchange Online module. Run Connect-EXOPSSession to get your Exchange cmdlets.

Screenshot of an Azure Cloud Shell running the commands Connect-EXOPSSession and Get-User.

Run Get-Command -Module tmp_*

Note

The module name should begin with tmp_, if you have installed modules with the same prefix, their cmdlets will also be surfaced.

Screenshot of an Azure Cloud Shell running the command Get-Command -Module tmp_*.

Deep integration with open source tooling

Cloud Shell includes pre-configured authentication for open source tools such as Terraform, Ansible, and Chef InSpec. Try it out from the example walkthroughs.

Pre-installed tools

Linux tools

  • bash
  • zsh
  • sh
  • tmux
  • dig

Azure tools

Text editors

  • code (Cloud Shell editor)
  • vim
  • nano
  • emacs

Source control

  • git

Build tools

  • make
  • maven
  • npm
  • pip

Containers

Databases

Other

Language support

Language Version
.NET Core 6.0.402
Go 1.9
Java 1.8
Node.js 8.16.0
PowerShell 7.2
Python 2.7 and 3.7 (default)

Next steps