Features & tools for Azure Cloud Shell
Azure Cloud Shell is a browser-based terminal that provides an authenticated, preconfigured shell experience for managing Azure resources. Cloud Shell comes with the tools you need, already installed.
Azure Cloud Shell runs on Azure Linux, Microsoft's Linux distribution for cloud infrastructure edge products and services. You can choose Bash or PowerShell as your default shell.
Features
Secure environment
Microsoft internally compiles all the packages included in the Azure Linux repository to help guard against supply chain attacks. For more information or to request changes to the Azure Linux image, see the Cloud Shell GitHub repository.
Cloud Shell automatically authenticates your Azure account to allow secure access for Azure CLI, Azure PowerShell, and other cloud management tools.
$HOME persistence across sessions
When you start Cloud Shell for the first time, you have the option of using Cloud Shell with or without an attached storage account. Choosing to continue without storage is the fastest way to start using Cloud Shell. Using Cloud Shell without storage is known as an ephemeral session. When you close the Cloud Shell window, all files you saved are deleted and don't persist across sessions.
To persist files across sessions, you can choose to mount a storage account. Cloud Shell
automatically attaches your storage (mounted as $HOME\clouddrive
) for all future sessions.
Additionally, your $HOME
directory is persisted as an .img
file in your Azure File share. The
machine state and files outside of $HOME
aren't persisted across sessions. Learn more about
Persisting files in Cloud Shell.
Use best practices when storing secrets such as SSH keys. You can use Azure Key Vault to securely store and retrieve your keys. For more information, see Manage Key Vault using the Azure CLI.
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 filesystem-like navigation of Azure resources such as Compute, Network, Storage, and
others. You can continue to use the familiar Azure PowerShell cmdlets to manage these
resources regardless of the drive you are in.
Note
Any changes made to the Azure resources, either made directly in Azure portal or through Azure
PowerShell cmdlets, are reflected in the Azure:
drive. However, you must run dir -Force
to
refresh the view of your resources in the Azure:
.
Deep integration with open source tooling
Cloud Shell includes preconfigured authentication for open source tools such as Terraform, Ansible, and Chef InSpec. For more information, see the following articles:
Preinstalled tools
The most commonly used tools are preinstalled in Cloud Shell. This curated collection of tools is updated monthly. Use the following commands to see the current list of tools and versions.
- In PowerShell, use the
Get-Module -ListAvailable
command to get a list of installed module - In Bash or PowerShell
- Use the
tdnf list
command to list the TDNF packages that are installed - Use the
pip3 list
command to list the Python packages that are installed
- Use the
Azure tools
Cloud Shell comes with the following Azure command-line tools preinstalled:
Other Microsoft services
- Office 365 CLI
- Exchange Online PowerShell
- A basic set of Microsoft Graph PowerShell modules
- Microsoft.Graph.Applications
- Microsoft.Graph.Authentication
- Microsoft.Graph.Groups
- Microsoft.Graph.Identity.DirectoryManagement
- Microsoft.Graph.Identity.Governance
- Microsoft.Graph.Identity.SignIns
- Microsoft.Graph.Users.Actions
- Microsoft.Graph.Users.Functions
- MicrosoftPowerBIMgmt PowerShell modules
- SqlServer PowerShell modules
Productivity tools
Linux tools
bash
zsh
sh
tmux
dig
Text editors
- Cloud Shell editor (code)
- vim
- nano
- emacs
Cloud management tools
- Docker Desktop
- Kubectl
- Helm
- D2iQ Kubernetes Platform CLI
- Cloud Foundry CLI
- Terraform
- Ansible
- Chef InSpec
- Puppet Bolt
- HashiCorp Packer
Developer tools
Build tools
make
maven
npm
pip
Source control
- Git
- GitHub CLI
Database tools
- MySQL client
- PostgreSql client
- sqlcmd Utility
- mssql-scripter
Programming languages
- .NET 7.0
- PowerShell 7.4
- Node.js
- Java
- Python 3.9
- Ruby
- Go
Installing your own tools
If you configured Cloud Shell to use a storage account, you can install your own tools. You can
install any tool that doesn't require root permissions. For example, you can install Python modules,
PowerShell modules, Node.js packages, and most packages that can be installed with wget
.