<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Beyond Notebooks: Why SSH Access to the Databricks Driver Matters in Community Articles</title>
    <link>https://community.databricks.com/t5/community-articles/beyond-notebooks-why-ssh-access-to-the-databricks-driver-matters/m-p/146540#M995</link>
    <description>&lt;H2 id="ember310"&gt;Introduction&lt;/H2&gt;&lt;P class=""&gt;Cloud-native data platforms like &lt;STRONG&gt;Azure Databricks&lt;/STRONG&gt; are powerful because they abstract away infrastructure so you can focus on data engineering, analytics, and ML workloads. However, there are situations where you may run into issues that require advanced troubleshooting. You might also want to install additional software on your cluster - or simply peek under the hood. That’s where SSH access to your cluster’s Spark driver node becomes a valuable tool.&lt;/P&gt;&lt;H2 id="ember312"&gt;What Does “SSH to the Driver Node” Mean?&lt;/H2&gt;&lt;P class=""&gt;In an Apache Spark cluster, whether on Databricks or elsewhere, there’s a &lt;EM&gt;driver node&lt;/EM&gt; and one or more &lt;EM&gt;worker nodes&lt;/EM&gt;.&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The &lt;STRONG&gt;driver node&lt;/STRONG&gt; orchestrates the execution of distributed jobs - it’s where your SparkContext lives and where your notebooks or jobs initially run.&lt;/LI&gt;&lt;LI&gt;The &lt;STRONG&gt;worker nodes&lt;/STRONG&gt; execute the distributed tasks assigned by the driver.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;SSH - secure shell - is a protocol normally used to access remote machines. In Databricks, it allows you to securely connect directly to the driver node VM in your Azure environment for troubleshooting or maintenance.&lt;/P&gt;&lt;H2 id="ember316"&gt;Why this can be useful?&lt;/H2&gt;&lt;P class=""&gt;Here are a few reasons why being able to SSH into the driver can be more than just a nice trick:&lt;/P&gt;&lt;H3 id="ember318"&gt;Troubleshooting and advanced debugging&lt;/H3&gt;&lt;P class=""&gt;One of the most practical reasons to SSH into a Databricks driver node is network troubleshooting - especially in locked-down Azure environments, where connectivity issues are common and often difficult to diagnose using Spark logs alone.&lt;/P&gt;&lt;P class=""&gt;For example, by SSH-ing into the driver node, an engineer can install a lightweight tool such as nmap (which is not installed by default as you can see in below screenshot) to test network reachability and open ports. (as you can see on below screenshot - by default nmap is not available on driver node).&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_9-1770032385312.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23562iB54D19C9B3FFCCE2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_9-1770032385312.png" alt="szymon_dybczak_9-1770032385312.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;P class=""&gt;Similarly, you might want to monitor, in real time, which processes are consuming the most resources on the driver using a tool like htop. This is not possible from a notebook, because a notebook command only captures the state of processes at the moment of execution - it does not provide a continuously updating view.&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_10-1770032408131.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23563i810C82A614BF3791/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_10-1770032408131.png" alt="szymon_dybczak_10-1770032408131.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;P class=""&gt;To observe processes in real time, SSH access to the driver node is required.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_11-1770032425293.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23564iF8FC6E7BFF95CD09/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_11-1770032425293.png" alt="szymon_dybczak_11-1770032425293.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;Monitoring processes in real-time using htop&lt;/DIV&gt;&lt;H3 id="ember326"&gt;Installing Custom Tools or Debugging Utilities&lt;/H3&gt;&lt;P class=""&gt;While Databricks runtimes include many built-in features, they are still managed environments. When something goes wrong at the infrastructure or operating system level, traditional Spark diagnostics may not be enough. SSH access allows engineers to temporarily install and run additional utilities directly on the driver node to gain deeper insight into what’s happening.&lt;/P&gt;&lt;P class=""&gt;These tools can help with tasks such as:&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Inspecting running processes and resource consumption&lt;/LI&gt;&lt;LI&gt;Analyzing network connectivity and port availability&lt;/LI&gt;&lt;LI&gt;Verifying system configuration, libraries, or environment variables&lt;/LI&gt;&lt;LI&gt;Observing real-time behavior during job execution&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;SSH lets you &lt;EM&gt;install or run these tools directly on the driver node&lt;/EM&gt; for short-term analysis or troubleshooting - something you simply can’t do from a notebook alone.&lt;/P&gt;&lt;H2 id="ember331"&gt;Demo&lt;/H2&gt;&lt;P class=""&gt;There are some prerequisite that needs to be met to be able to log in to driver node using SSH. SSH access is &lt;STRONG&gt;only supported&lt;/STRONG&gt; when&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Databricks workspace is deployed using &lt;STRONG&gt;VNet injection&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Subnet used by the Databricks cluster must allow inbound SSH traffic to the driver node.&lt;/LI&gt;&lt;LI&gt;SSH access requires &lt;STRONG&gt;key-based authentication&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H3 id="ember334"&gt;1. Create VNet with 2 required subnets&lt;/H3&gt;&lt;P class=""&gt;As a first step, we need to create a VNET with the two required subnets delegated to &lt;STRONG&gt;Microsoft.Databricks/workspaces&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_13-1770032512017.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23566i15700A5B9003A98B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_13-1770032512017.png" alt="szymon_dybczak_13-1770032512017.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3 id="ember337"&gt;2. Deploy VNet Injected Databricks Workspace&lt;/H3&gt;&lt;P class=""&gt;Next, let's deploye an Azure Databricks workspace with the &lt;STRONG&gt;“Deploy Azure Databricks workspace in your own Virtual Network (VNet)”&lt;/STRONG&gt; option selected.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_14-1770032531420.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23567i4804F2FD574F5271/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_14-1770032531420.png" alt="szymon_dybczak_14-1770032531420.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember340"&gt;3. Add Inbound rule to NSG associated with Databricks subnet&lt;/H3&gt;&lt;P class=""&gt;As the final step, we need to update the network security group (NSG) that was automatically created during the Databricks deployment to allow inbound traffic. The NSG associated with your VNet must allow inbound SSH traffic. The default port for SSH in Databricks is &lt;STRONG&gt;2200&lt;/STRONG&gt;.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; The setup shown below is for demo purposes only, so I’m allowing SSH access from any source.&lt;/BLOCKQUOTE&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_15-1770032563822.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23568iE973EB59519429E3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_15-1770032563822.png" alt="szymon_dybczak_15-1770032563822.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember344"&gt;4. Generate SSH Key-Pair&lt;/H3&gt;&lt;P class=""&gt;Let's generate generate ssh key-pair using following command:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;ssh-keygen -t rsa -b 4096 -C&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_16-1770032586361.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23569i1A108ABCAD8FAD87/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_16-1770032586361.png" alt="szymon_dybczak_16-1770032586361.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H2 id="ember347"&gt;5. Configure a new cluster with your public key&lt;/H2&gt;&lt;P class=""&gt;Now we need to copy the entire contents of the public key file and paste it into Public key field :&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_17-1770032623815.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23570i270EB210CC3F45C7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_17-1770032623815.png" alt="szymon_dybczak_17-1770032623815.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember350"&gt;6. SSH into driver&lt;/H3&gt;&lt;P class=""&gt;Run the following command, replacing the hostname and private key file path&lt;/P&gt;&lt;PRE&gt;ssh ubuntu@&amp;lt;hostname&amp;gt; -p 2200 -i &amp;lt;private-key-file-path&amp;gt;&lt;/PRE&gt;&lt;P class=""&gt;Once we're inside, we can install Nmap, as I promised at the beginning of the article&lt;/P&gt;&lt;PRE&gt;sudo apt-get update
sudo apt-get install -y nmap&lt;/PRE&gt;&lt;P class=""&gt;After the installation, let's verify that it’s now available on our driver node by executing a small test:&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_18-1770032643221.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23571iB138920011AAC97E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_18-1770032643221.png" alt="szymon_dybczak_18-1770032643221.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember355"&gt;Conclusion&lt;/H3&gt;&lt;P class=""&gt;SSH access to the Azure Databricks driver node is a &lt;EM&gt;powerful tool in your toolkit&lt;/EM&gt;. It’s not something you’ll use every day, but when you &lt;EM&gt;really need visibility into the underlying system&lt;/EM&gt;, it can save hours of guesswork and help resolve tricky problems quickly.&lt;/P&gt;&lt;P class=""&gt;If you’re running Databricks in a secure VNet and manage your network settings, enabling SSH access - even just for occasional use - can significantly strengthen your diagnostic and troubleshooting capabilities.&lt;/P&gt;</description>
    <pubDate>Mon, 02 Feb 2026 11:44:47 GMT</pubDate>
    <dc:creator>szymon_dybczak</dc:creator>
    <dc:date>2026-02-02T11:44:47Z</dc:date>
    <item>
      <title>Beyond Notebooks: Why SSH Access to the Databricks Driver Matters</title>
      <link>https://community.databricks.com/t5/community-articles/beyond-notebooks-why-ssh-access-to-the-databricks-driver-matters/m-p/146540#M995</link>
      <description>&lt;H2 id="ember310"&gt;Introduction&lt;/H2&gt;&lt;P class=""&gt;Cloud-native data platforms like &lt;STRONG&gt;Azure Databricks&lt;/STRONG&gt; are powerful because they abstract away infrastructure so you can focus on data engineering, analytics, and ML workloads. However, there are situations where you may run into issues that require advanced troubleshooting. You might also want to install additional software on your cluster - or simply peek under the hood. That’s where SSH access to your cluster’s Spark driver node becomes a valuable tool.&lt;/P&gt;&lt;H2 id="ember312"&gt;What Does “SSH to the Driver Node” Mean?&lt;/H2&gt;&lt;P class=""&gt;In an Apache Spark cluster, whether on Databricks or elsewhere, there’s a &lt;EM&gt;driver node&lt;/EM&gt; and one or more &lt;EM&gt;worker nodes&lt;/EM&gt;.&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The &lt;STRONG&gt;driver node&lt;/STRONG&gt; orchestrates the execution of distributed jobs - it’s where your SparkContext lives and where your notebooks or jobs initially run.&lt;/LI&gt;&lt;LI&gt;The &lt;STRONG&gt;worker nodes&lt;/STRONG&gt; execute the distributed tasks assigned by the driver.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;SSH - secure shell - is a protocol normally used to access remote machines. In Databricks, it allows you to securely connect directly to the driver node VM in your Azure environment for troubleshooting or maintenance.&lt;/P&gt;&lt;H2 id="ember316"&gt;Why this can be useful?&lt;/H2&gt;&lt;P class=""&gt;Here are a few reasons why being able to SSH into the driver can be more than just a nice trick:&lt;/P&gt;&lt;H3 id="ember318"&gt;Troubleshooting and advanced debugging&lt;/H3&gt;&lt;P class=""&gt;One of the most practical reasons to SSH into a Databricks driver node is network troubleshooting - especially in locked-down Azure environments, where connectivity issues are common and often difficult to diagnose using Spark logs alone.&lt;/P&gt;&lt;P class=""&gt;For example, by SSH-ing into the driver node, an engineer can install a lightweight tool such as nmap (which is not installed by default as you can see in below screenshot) to test network reachability and open ports. (as you can see on below screenshot - by default nmap is not available on driver node).&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_9-1770032385312.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23562iB54D19C9B3FFCCE2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_9-1770032385312.png" alt="szymon_dybczak_9-1770032385312.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;P class=""&gt;Similarly, you might want to monitor, in real time, which processes are consuming the most resources on the driver using a tool like htop. This is not possible from a notebook, because a notebook command only captures the state of processes at the moment of execution - it does not provide a continuously updating view.&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_10-1770032408131.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23563i810C82A614BF3791/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_10-1770032408131.png" alt="szymon_dybczak_10-1770032408131.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;P class=""&gt;To observe processes in real time, SSH access to the driver node is required.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_11-1770032425293.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23564iF8FC6E7BFF95CD09/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_11-1770032425293.png" alt="szymon_dybczak_11-1770032425293.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;Monitoring processes in real-time using htop&lt;/DIV&gt;&lt;H3 id="ember326"&gt;Installing Custom Tools or Debugging Utilities&lt;/H3&gt;&lt;P class=""&gt;While Databricks runtimes include many built-in features, they are still managed environments. When something goes wrong at the infrastructure or operating system level, traditional Spark diagnostics may not be enough. SSH access allows engineers to temporarily install and run additional utilities directly on the driver node to gain deeper insight into what’s happening.&lt;/P&gt;&lt;P class=""&gt;These tools can help with tasks such as:&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Inspecting running processes and resource consumption&lt;/LI&gt;&lt;LI&gt;Analyzing network connectivity and port availability&lt;/LI&gt;&lt;LI&gt;Verifying system configuration, libraries, or environment variables&lt;/LI&gt;&lt;LI&gt;Observing real-time behavior during job execution&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;SSH lets you &lt;EM&gt;install or run these tools directly on the driver node&lt;/EM&gt; for short-term analysis or troubleshooting - something you simply can’t do from a notebook alone.&lt;/P&gt;&lt;H2 id="ember331"&gt;Demo&lt;/H2&gt;&lt;P class=""&gt;There are some prerequisite that needs to be met to be able to log in to driver node using SSH. SSH access is &lt;STRONG&gt;only supported&lt;/STRONG&gt; when&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Databricks workspace is deployed using &lt;STRONG&gt;VNet injection&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Subnet used by the Databricks cluster must allow inbound SSH traffic to the driver node.&lt;/LI&gt;&lt;LI&gt;SSH access requires &lt;STRONG&gt;key-based authentication&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H3 id="ember334"&gt;1. Create VNet with 2 required subnets&lt;/H3&gt;&lt;P class=""&gt;As a first step, we need to create a VNET with the two required subnets delegated to &lt;STRONG&gt;Microsoft.Databricks/workspaces&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_13-1770032512017.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23566i15700A5B9003A98B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_13-1770032512017.png" alt="szymon_dybczak_13-1770032512017.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3 id="ember337"&gt;2. Deploy VNet Injected Databricks Workspace&lt;/H3&gt;&lt;P class=""&gt;Next, let's deploye an Azure Databricks workspace with the &lt;STRONG&gt;“Deploy Azure Databricks workspace in your own Virtual Network (VNet)”&lt;/STRONG&gt; option selected.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_14-1770032531420.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23567i4804F2FD574F5271/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_14-1770032531420.png" alt="szymon_dybczak_14-1770032531420.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember340"&gt;3. Add Inbound rule to NSG associated with Databricks subnet&lt;/H3&gt;&lt;P class=""&gt;As the final step, we need to update the network security group (NSG) that was automatically created during the Databricks deployment to allow inbound traffic. The NSG associated with your VNet must allow inbound SSH traffic. The default port for SSH in Databricks is &lt;STRONG&gt;2200&lt;/STRONG&gt;.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; The setup shown below is for demo purposes only, so I’m allowing SSH access from any source.&lt;/BLOCKQUOTE&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_15-1770032563822.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23568iE973EB59519429E3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_15-1770032563822.png" alt="szymon_dybczak_15-1770032563822.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember344"&gt;4. Generate SSH Key-Pair&lt;/H3&gt;&lt;P class=""&gt;Let's generate generate ssh key-pair using following command:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;ssh-keygen -t rsa -b 4096 -C&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_16-1770032586361.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23569i1A108ABCAD8FAD87/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_16-1770032586361.png" alt="szymon_dybczak_16-1770032586361.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H2 id="ember347"&gt;5. Configure a new cluster with your public key&lt;/H2&gt;&lt;P class=""&gt;Now we need to copy the entire contents of the public key file and paste it into Public key field :&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_17-1770032623815.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23570i270EB210CC3F45C7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_17-1770032623815.png" alt="szymon_dybczak_17-1770032623815.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember350"&gt;6. SSH into driver&lt;/H3&gt;&lt;P class=""&gt;Run the following command, replacing the hostname and private key file path&lt;/P&gt;&lt;PRE&gt;ssh ubuntu@&amp;lt;hostname&amp;gt; -p 2200 -i &amp;lt;private-key-file-path&amp;gt;&lt;/PRE&gt;&lt;P class=""&gt;Once we're inside, we can install Nmap, as I promised at the beginning of the article&lt;/P&gt;&lt;PRE&gt;sudo apt-get update
sudo apt-get install -y nmap&lt;/PRE&gt;&lt;P class=""&gt;After the installation, let's verify that it’s now available on our driver node by executing a small test:&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="szymon_dybczak_18-1770032643221.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/23571iB138920011AAC97E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="szymon_dybczak_18-1770032643221.png" alt="szymon_dybczak_18-1770032643221.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;H3 id="ember355"&gt;Conclusion&lt;/H3&gt;&lt;P class=""&gt;SSH access to the Azure Databricks driver node is a &lt;EM&gt;powerful tool in your toolkit&lt;/EM&gt;. It’s not something you’ll use every day, but when you &lt;EM&gt;really need visibility into the underlying system&lt;/EM&gt;, it can save hours of guesswork and help resolve tricky problems quickly.&lt;/P&gt;&lt;P class=""&gt;If you’re running Databricks in a secure VNet and manage your network settings, enabling SSH access - even just for occasional use - can significantly strengthen your diagnostic and troubleshooting capabilities.&lt;/P&gt;</description>
      <pubDate>Mon, 02 Feb 2026 11:44:47 GMT</pubDate>
      <guid>https://community.databricks.com/t5/community-articles/beyond-notebooks-why-ssh-access-to-the-databricks-driver-matters/m-p/146540#M995</guid>
      <dc:creator>szymon_dybczak</dc:creator>
      <dc:date>2026-02-02T11:44:47Z</dc:date>
    </item>
  </channel>
</rss>

