1
1
---
2
2
description : Overview of features in Azure Cloud Shell
3
3
ms.contributor : jahelmic
4
- ms.date : 12/06/2023
4
+ ms.date : 02/15/2024
5
5
ms.topic : article
6
6
tags : azure-resource-manager
7
7
title : Azure Cloud Shell features
8
8
---
9
9
# Features & tools for Azure Cloud Shell
10
10
11
- Azure Cloud Shell is a browser-based shell experience to manage and develop Azure resources.
12
-
13
- Cloud Shell offers a browser-accessible, preconfigured shell experience for managing Azure
14
- resources without the overhead of installing, versioning, and maintaining a machine yourself.
15
-
16
- Cloud Shell allocates machines on a per-request basis and as a result machine state doesn't
17
- persist across sessions. Since Cloud Shell is built for interactive sessions, shells automatically
18
- terminate after 20 minutes of shell inactivity.
11
+ Azure Cloud Shell is a browser-based terminal that provides a authenticated, preconfigured shell
12
+ experience for managing Azure resources without the overhead of installing and maintaining a machine
13
+ yourself.
19
14
20
15
Azure Cloud Shell runs on ** Azure Linux** , Microsoft's Linux distribution for cloud infrastructure
21
- edge products and services. Microsoft internally compiles all the packages included in the ** Azure
22
- Linux** repository to help guard against supply chain attacks.
16
+ edge products and services. You can choose Bash or PowerShell as your default shell.
23
17
24
18
## Features
25
19
26
- ### Secure automatic authentication
20
+ ### Secure environment
21
+
22
+ Microsoft internally compiles all the packages included in the ** Azure Linux** repository to help
23
+ guard against supply chain attacks. For more information or to request changes to the ** Azure
24
+ Linux** image, see the [ Cloud Shell GitHub repository] [ 24 ] .
27
25
28
- Cloud Shell securely and automatically authenticates account access for the Azure CLI and Azure
29
- PowerShell.
26
+ Cloud Shell automatically authenticates your Azure account to allow secure access for Azure CLI,
27
+ Azure PowerShell, and other cloud management tools .
30
28
31
29
### $HOME persistence across sessions
32
30
33
- To persist files across sessions, Cloud Shell walks you through attaching an Azure file share on
34
- first launch. Once completed, Cloud Shell will automatically attach your storage (mounted as
35
- ` $HOME\clouddrive ` ) for all future sessions. Additionally, your ` $HOME ` directory is persisted as an
36
- .img in your Azure File share. Files outside of ` $HOME ` and machine state aren't persisted across
37
- sessions. Learn more about [ Persisting files in Cloud Shell] [ 09 ] .
31
+ When you start Cloud Shell for the first time, you have the option of using Cloud Shell with or
32
+ without an attached storage account. Choosing to continue without storage is the fastest way to
33
+ start using Cloud Shell. In Cloud Shell, this is known as an _ ephemeral session_ . When you close the
34
+ Cloud Shell window, all files you saved are deleted and don't persist across sessions.
35
+
36
+ To persist files across sessions, you can choose to mount a storage account. Cloud Shell
37
+ automatically attaches your storage (mounted as ` $HOME\clouddrive ` ) for all future sessions.
38
+ Additionally, your ` $HOME ` directory is persisted as an ` .img ` file in your Azure File share. The
39
+ machine state and files outside of ` $HOME ` aren't persisted across sessions. Learn more about
40
+ [ Persisting files in Cloud Shell] [ 33 ] .
38
41
39
42
Use best practices when storing secrets such as SSH keys. You can use Azure Key Vault to securely
40
43
store and retrieve your keys. For more information, see [ Manage Key Vault using the Azure CLI] [ 02 ] .
@@ -44,157 +47,155 @@ store and retrieve your keys. For more information, see [Manage Key Vault using
44
47
PowerShell in Cloud Shell provides the Azure drive (` Azure: ` ). You can switch to the Azure drive
45
48
with ` cd Azure: ` and back to your home directory with ` cd ~ ` . The Azure drive enables easy
46
49
discovery and navigation of Azure resources such as Compute, Network, Storage etc. similar to
47
- filesystem navigation. You can continue to use the familiar [ Azure PowerShell cmdlets] [ 14 ] to manage
48
- these resources regardless of the drive you are in. Any changes made to the Azure resources, either
49
- made directly in Azure portal or through Azure PowerShell cmdlets, are reflected in the Azure drive.
50
- You can run ` dir -Force ` to refresh your resources.
51
-
52
- ![ Screenshot of an Azure Cloud Shell being initialized and a list of directory resources.] [ 06 ]
50
+ filesystem navigation. You can continue to use the familiar [ Azure PowerShell cmdlets] [ 09 ] to manage
51
+ these resources regardless of the drive you are in.
53
52
54
- ### Manage Exchange Online
55
-
56
- PowerShell in Cloud Shell contains the ExchangeOnlineManagement module. Run the following command to
57
- get a list of Exchange cmdlets.
58
-
59
- ``` powershell
60
- Get-Command -Module ExchangeOnlineManagement
61
- ```
62
-
63
- For more information about using the ExchangeOnlineManagement module, see
64
- [ Exchange Online PowerShell] [ 15 ] .
53
+ > [ !NOTE]
54
+ > Any changes made to the Azure resources, either made directly in Azure portal or through Azure
55
+ > PowerShell cmdlets, are reflected in the ` Azure: ` drive. However, you must run ` dir -Force ` to
56
+ > refresh the view of your resources in the ` Azure: ` .
65
57
66
58
### Deep integration with open source tooling
67
59
68
60
Cloud Shell includes preconfigured authentication for open source tools such as Terraform, Ansible,
69
61
and Chef InSpec. For more information, see the following articles:
70
62
71
- - [ Run Ansible playbook] [ 11 ]
72
- - [ Manage your Azure dynamic inventories] [ 10 ]
73
- - [ Install and configure Terraform] [ 12 ]
63
+ - [ Run Ansible playbook] [ 05 ]
64
+ - [ Manage your Azure dynamic inventories] [ 04 ]
65
+ - [ Install and configure Terraform] [ 06 ]
74
66
75
- ### Preinstalled tools
67
+ ## Preinstalled tools
76
68
77
- The most commonly used tools are preinstalled in Cloud Shell.
69
+ The most commonly used tools are preinstalled in Cloud Shell. If you are using PowerShell, use the
70
+ ` Get-PackageVersion ` command to see a more complete list of tools and versions. If you are using
71
+ Bash, use the ` tdnf list ` command.
78
72
79
- #### Azure tools
73
+ ### Azure tools
80
74
81
75
Cloud Shell comes with the following Azure command-line tools preinstalled:
82
76
83
- | Tool | Version | Command |
84
- | ------------------------- | -------- | ------------------------------ |
85
- | [ Azure CLI] [ 13 ] | 2.55.0 | ` az --version ` |
86
- | [ Azure PowerShell] [ 14 ] | 11.1.0 | ` Get-Module Az -ListAvailable ` |
87
- | [ AzCopy] [ 04 ] | 10.15.0 | ` azcopy --version ` |
88
- | [ Azure Functions CLI] [ 01 ] | 4.0.5390 | ` func --version ` |
89
- | [ Service Fabric CLI] [ 03 ] | 11.2.0 | ` sfctl --version ` |
90
- | [ Batch Shipyard] [ 18 ] | 3.9.1 | ` shipyard --version ` |
91
- | [ blobxfer] [ 19 ] | 1.11.0 | ` blobxfer --version ` |
92
-
93
- You can verify the version of the language using the command listed in the table.
94
- Use the ` Get-PackageVersion ` to see a more complete list of tools and versions.
95
-
96
- #### Linux tools
77
+ - [ Azure CLI] [ 08 ]
78
+ - [ Azure PowerShell] [ 09 ]
79
+ - [ Az.Tools.Predictor] [ 10 ]
80
+ - [ AzCopy] [ 07 ]
81
+ - [ Azure Functions CLI] [ 01 ]
82
+ - [ Service Fabric CLI] [ 03 ]
83
+ - [ Batch Shipyard] [ 17 ]
84
+ - [ blobxfer] [ 18 ]
85
+
86
+ ### Other Microsoft services
87
+
88
+ - [ Office 365 CLI] [ 28 ]
89
+ - [ Exchange Online PowerShell] [ 11 ] .
90
+ - A basic set of [ Microsoft Graph PowerShell] [ 12 ] modules
91
+ - Microsoft.Graph.Applications
92
+ - Microsoft.Graph.Authentication
93
+ - Microsoft.Graph.Groups
94
+ - Microsoft.Graph.Identity.DirectoryManagement
95
+ - Microsoft.Graph.Identity.Governance
96
+ - Microsoft.Graph.Identity.SignIns
97
+ - Microsoft.Graph.Users.Actions
98
+ - Microsoft.Graph.Users.Functions
99
+ - [ MicrosoftPowerBIMgmt] [ 13 ] PowerShell modules
100
+ - [ SqlServer] [ 14 ] PowerShell modules
101
+
102
+ ### Productivity tools
103
+
104
+ Linux tools
97
105
98
106
- bash
99
107
- zsh
100
108
- sh
101
109
- tmux
102
110
- dig
103
111
104
- #### Text editors
112
+ Text editors
105
113
106
114
- Cloud Shell editor (code)
107
115
- vim
108
116
- nano
109
117
- emacs
110
118
111
- #### Source control
119
+ ### Cloud management tools
112
120
113
- - Git
114
- - GitHub CLI
121
+ - [ Docker Desktop] [ 23 ]
122
+ - [ Kubectl] [ 27 ]
123
+ - [ Helm] [ 26 ]
124
+ - [ D2iQ Kubernetes Platform CLI] [ 22 ]
125
+ - [ Cloud Foundry CLI] [ 21 ]
126
+ - [ Terraform] [ 31 ]
127
+ - [ Ansible] [ 30 ]
128
+ - [ Chef InSpec] [ 20 ]
129
+ - [ Puppet Bolt] [ 29 ]
130
+ - [ HashiCorp Packer] [ 19 ]
131
+
132
+ ## Developer tools
115
133
116
- #### Build tools
134
+ Build tools
117
135
118
136
- make
119
137
- maven
120
138
- npm
121
139
- pip
122
140
123
- #### Containers
141
+ Source control
124
142
125
- - [ Docker Desktop] [ 24 ]
126
- - [ Kubectl] [ 29 ]
127
- - [ Helm] [ 28 ]
128
- - [ D2iQ Kubernetes Platform CLI] [ 23 ]
143
+ - Git
144
+ - GitHub CLI
129
145
130
- #### Databases
146
+ Database tools
131
147
132
148
- MySQL client
133
149
- PostgreSql client
134
- - [ sqlcmd Utility] [ 17 ]
135
- - [ mssql-scripter] [ 27 ]
136
-
137
- #### Other
138
-
139
- - iPython Client
140
- - [ Cloud Foundry CLI] [ 22 ]
141
- - [ Terraform] [ 33 ]
142
- - [ Ansible] [ 32 ]
143
- - [ Chef InSpec] [ 21 ]
144
- - [ Puppet Bolt] [ 31 ]
145
- - [ HashiCorp Packer] [ 20 ]
146
- - [ Office 365 CLI] [ 30 ]
147
-
148
- ### Preinstalled developer languages
149
-
150
- Cloud Shell comes with the following languages preinstalled:
150
+ - [ sqlcmd Utility] [ 15 ]
151
+ - [ mssql-scripter] [ 25 ]
151
152
152
- | Language | Version | Command |
153
- | ---------- | ------------- | ------------------ |
154
- | .NET Core | [ 7.0.400] [ 25 ] | ` dotnet --version ` |
155
- | Go | 1.19.11 | ` go version ` |
156
- | Java | 17.0.8 | ` java --version ` |
157
- | Node.js | 16.20.1 | ` node --version ` |
158
- | PowerShell | [ 7.4.0] [ 16 ] | ` pwsh -Version ` |
159
- | Python | 3.9.14 | ` python --version ` |
160
- | Ruby | 3.1.4p223 | ` ruby --version ` |
153
+ Programming languages
161
154
162
- You can verify the version of the language using the command listed in the table.
155
+ - .NET Core 7.0
156
+ - PowerShell 7.4
157
+ - Node.js
158
+ - Java
159
+ - Python 3.9
160
+ - Ruby
161
+ - Go
163
162
164
163
## Next steps
165
164
166
- - [ Cloud Shell Quickstart] [ 05 ]
167
- - [ Learn about Azure CLI] [ 13 ]
168
- - [ Learn about Azure PowerShell] [ 14 ]
165
+ - [ Cloud Shell Quickstart] [ 16 ]
166
+ - [ Learn about Azure CLI] [ 08 ]
167
+ - [ Learn about Azure PowerShell] [ 09 ]
169
168
170
169
<!-- link references -->
171
- [ 01 ] : ../azure-functions/functions-run-local.md
172
- [ 02 ] : ../key-vault/general/manage-with-cli2.md#prerequisites
173
- [ 03 ] : ../service-fabric/service-fabric-cli.md
174
- [ 04 ] : ../storage/common/storage-use-azcopy-v10.md
175
- [ 05 ] : ./get-started.md
176
- [ 06 ] : ./media/features/azure-drive.png
177
- [ 09 ] : ./persisting-shell-storage.md
178
- [ 10 ] : /azure/developer/ansible/dynamic-inventory-configure
179
- [ 11 ] : /azure/developer/ansible/getting-started-cloud-shell
180
- [ 12 ] : /azure/developer/terraform/quickstart-configure
181
- [ 13 ] : /cli/azure/
182
- [ 14 ] : /powershell/azure
183
- [ 15 ] : /powershell/exchange/exchange-online-powershell
184
- [ 16 ] : /powershell/scripting/whats-new/what-s-new-in-powershell-74
185
- [ 17 ] : /sql/tools/sqlcmd-utility
186
- [ 18 ] : https://batch-shipyard.readthedocs.io/en/latest/
187
- [ 19 ] : https://blobxfer.readthedocs.io/en/latest/
188
- [ 20 ] : https://developer.hashicorp.com/packer/docs
189
- [ 21 ] : https://docs.chef.io/
190
- [ 22 ] : https://docs.cloudfoundry.org/cf-cli/
191
- [ 23 ] : https://docs.d2iq.com/dkp/2.6/azure-infrastructure
192
- [ 24 ] : https://docs.docker.com/desktop/
193
- [ 25 ] : https://dotnet.microsoft.com/download/dotnet/7.0
194
- [ 27 ] : https://github.com/microsoft/mssql-scripter/blob/dev/doc/usage_guide.md
195
- [ 28 ] : https://helm.sh/docs/
196
- [ 29 ] : https://kubernetes.io/docs/reference/kubectl/
197
- [ 30 ] : https://pnp.github.io/office365-cli/
198
- [ 31 ] : https://puppet.com/docs/bolt/latest/bolt.html
199
- [ 32 ] : https://www.ansible.com/microsoft-azure
200
- [ 33 ] : https://www.terraform.io/docs/providers/azurerm/
170
+ [ 01 ] : /azure/azure-functions/functions-run-local
171
+ [ 02 ] : /azure/key-vault/general/manage-with-cli2#prerequisites
172
+ [ 03 ] : /azure/service-fabric/service-fabric-cli
173
+ [ 04 ] : /azure/developer/ansible/dynamic-inventory-configure
174
+ [ 05 ] : /azure/developer/ansible/getting-started-cloud-shell
175
+ [ 06 ] : /azure/developer/terraform/quickstart-configure
176
+ [ 07 ] : /azure/storage/common/storage-use-azcopy-v10
177
+ [ 08 ] : /cli/azure/
178
+ [ 09 ] : /powershell/azure
179
+ [ 10 ] : /powershell/azure/predictor-overview
180
+ [ 11 ] : /powershell/exchange/exchange-online-powershell
181
+ [ 12 ] : /powershell/module/?term=Microsoft.Graph
182
+ [ 13 ] : /powershell/module/?term=MicrosoftPowerBIMgmt
183
+ [ 14 ] : /powershell/module/sqlserver
184
+ [ 15 ] : /sql/tools/sqlcmd-utility
185
+ [ 16 ] : get-started.md
186
+ [ 17 ] : https://batch-shipyard.readthedocs.io/en/latest/
187
+ [ 18 ] : https://blobxfer.readthedocs.io/en/latest/
188
+ [ 19 ] : https://developer.hashicorp.com/packer/docs
189
+ [ 20 ] : https://docs.chef.io/
190
+ [ 21 ] : https://docs.cloudfoundry.org/cf-cli/
191
+ [ 22 ] : https://docs.d2iq.com/dkp/2.6/azure-infrastructure
192
+ [ 23 ] : https://docs.docker.com/desktop/
193
+ [ 24 ] : https://github.com/Azure/CloudShell
194
+ [ 25 ] : https://github.com/microsoft/mssql-scripter/blob/dev/doc/usage_guide.md
195
+ [ 26 ] : https://helm.sh/docs/
196
+ [ 27 ] : https://kubernetes.io/docs/reference/kubectl/
197
+ [ 28 ] : https://pnp.github.io/office365-cli/
198
+ [ 29 ] : https://puppet.com/docs/bolt/latest/bolt.html
199
+ [ 30 ] : https://www.ansible.com/microsoft-azure
200
+ [ 31 ] : https://www.terraform.io/docs/providers/azurerm/
201
+ [ 33 ] : persisting-shell-storage.md
0 commit comments