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 Azure Linux, Microsoft's Linux distribution for cloud-infrastructure-edge products and services.
Microsoft internally compiles all the packages included in the Azure Linux repository to help guard against supply chain attacks. Tooling has been updated to reflect the new base image for Azure Linux. 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.
Manage Exchange Online
PowerShell in Cloud Shell contains a private build of the Exchange Online module. Run
Connect-EXOPSSession
to get your Exchange cmdlets.
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.
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
The most commonly used tools are preinstalled in Cloud Shell.
Azure tools
Cloud Shell comes with the following Azure command-line tools preinstalled:
Tool | Version | Command |
---|---|---|
Azure CLI | 2.51.0 | az --version |
Azure PowerShell | 10.2.0 | Get-Module Az -ListAvailable |
AzCopy | 10.15.0 | azcopy --version |
Azure Functions CLI | 4.0.5198 | func --version |
Service Fabric CLI | 11.2.0 | sfctl --version |
Batch Shipyard | 3.9.1 | shipyard --version |
blobxfer | 1.11.0 | blobxfer --version |
You can verify the version of the language using the command listed in the table.
Linux tools
- bash
- zsh
- sh
- tmux
- dig
Text editors
- Cloud Shell editor (code)
- vim
- nano
- emacs
Source control
- Git
- GitHub CLI
Build tools
- make
- maven
- npm
- pip
Containers
Databases
- MySQL client
- PostgreSql client
- sqlcmd Utility
- mssql-scripter
Other
- iPython Client
- Cloud Foundry CLI
- Terraform
- Ansible
- Chef InSpec
- Puppet Bolt
- HashiCorp Packer
- Office 365 CLI
Preinstalled developer languages
Cloud Shell comes with the following languages preinstalled:
Language | Version | Command |
---|---|---|
.NET Core | 7.0.400 | dotnet --version |
Go | 1.19.11 | go version |
Java | 17.0.8 | java --version |
Node.js | 16.20.1 | node --version |
PowerShell | 7.3.6 | pwsh -Version |
Python | 3.9.14 | python --version |
Ruby | 3.1.4p223 | ruby --version |
You can verify the version of the language using the command listed in the table.
Next steps
Feedback
Submit and view feedback for