{"id":605,"date":"2022-09-10T17:22:31","date_gmt":"2022-09-10T15:22:31","guid":{"rendered":"http:\/\/cln.io\/blog\/?p=605"},"modified":"2025-01-27T21:58:55","modified_gmt":"2025-01-27T19:58:55","slug":"ssh-access-to-the-home-assistant-host","status":"publish","type":"post","link":"https:\/\/cln.io\/blog\/ssh-access-to-the-home-assistant-host\/","title":{"rendered":"Get root SSH access to the Home Assistant root system remotely (no USB drive needed) ssh into the host system"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There <a href=\"https:\/\/developers.home-assistant.io\/docs\/operating-system\/debugging\/\" target=\"_blank\" rel=\"noreferrer noopener\">are detailed instructions<\/a> on how to get &#8220;root&#8221; ssh access to the Home Assistant Operating System but it involves plugging in a USB Drive and importing the SSH keys from that one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On this page<\/p>\n\n\n\n<nav aria-label=\"Table of Contents\" class=\"wp-block-table-of-contents\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/ssh-access-to-the-home-assistant-host\/#adding-a-custom-repository\">Adding a custom repository<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/ssh-access-to-the-home-assistant-host\/#setting-up-the-addon-before-starting-it\">Setting up the addon before starting it<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/ssh-access-to-the-home-assistant-host\/#reboot-hassos-home-assistant-operating-system\">Reboot HassOS \/ Home Assistant Operating System<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/ssh-access-to-the-home-assistant-host\/#optional-upload-get-your-private-key-on-home-assistant\">Optional: upload\/get your private key on home assistant<\/a><\/li><\/ol><\/nav>\n\n\n\n<p class=\"wp-block-paragraph\"><br>However: I&#8217;m 36 hours away from the system I want root SSH access to! So physical access is just not possible right now, but fear not! there is a solution!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install the port 22222 configurator addon<\/li>\n\n\n\n<li>Configure the addon<\/li>\n\n\n\n<li>Start the addon<\/li>\n\n\n\n<li>Done!<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"adding-a-custom-repository\">Adding a custom repository<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"641\" height=\"519\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-20.png\" alt=\"\" class=\"wp-image-612\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-20.png 641w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-20-300x243.png 300w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><figcaption class=\"wp-element-caption\">Head over to &#8220;Settings &gt; Add-ons &gt; Add-on store &gt; [right upper corner the 3 dots] &gt; Repositories<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">and add the following repository<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">https:\/\/github.com\/adamoutler\/HassOSConfigurator<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"313\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-22.png\" alt=\"\" class=\"wp-image-614\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-22.png 500w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-22-300x188.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption class=\"wp-element-caption\">Add the repository<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"408\" height=\"287\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_e8QaiL0bHx.png\" alt=\"\" class=\"wp-image-615\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_e8QaiL0bHx.png 408w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_e8QaiL0bHx-300x211.png 300w\" sizes=\"auto, (max-width: 408px) 100vw, 408px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"490\" height=\"333\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-23.png\" alt=\"\" class=\"wp-image-616\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-23.png 490w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-23-300x204.png 300w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><figcaption class=\"wp-element-caption\">it should show up as &#8220;HassOS Configurator&#8221;<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Now refresh the page you are on (F5 \/ CMD + R) and locate our new add-ons<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"348\" height=\"116\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_Nx5ELO1L76.png\" alt=\"\" class=\"wp-image-617\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_Nx5ELO1L76.png 348w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_Nx5ELO1L76-300x100.png 300w\" sizes=\"auto, (max-width: 348px) 100vw, 348px\" \/><figcaption class=\"wp-element-caption\">locate &#8220;HasOS SSH port 22222 Configurator&#8221; and click it<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"356\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-24-1024x356.png\" alt=\"\" class=\"wp-image-618\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-24-1024x356.png 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-24-300x104.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-24-768x267.png 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-24.png 1039w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Install it<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"558\" height=\"69\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-25.png\" alt=\"\" class=\"wp-image-620\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-25.png 558w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-25-300x37.png 300w\" sizes=\"auto, (max-width: 558px) 100vw, 558px\" \/><figcaption class=\"wp-element-caption\">Make sure to disable protection mode!<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"setting-up-the-addon-before-starting-it\">Setting up the addon before starting it<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">before we start the addon we have to configure some things, head over to the configuration of the addon<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"67\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-26.png\" alt=\"\" class=\"wp-image-621\"\/><figcaption class=\"wp-element-caption\">Head over to the configuration menu (on top)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Put in your public RSA key generated from your private key<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(ignore me) personal note:\nhttps:\/\/medium.com\/@rajeshkanna_a\/ssh-public-key-and-private-key-generation-windows-fdd8f87d4a9\nssh-keygen -y -f hassio.pem > hassio.pub<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"260\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-27-1024x260.png\" alt=\"\" class=\"wp-image-626\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-27-1024x260.png 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-27-300x76.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-27-768x195.png 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-27.png 1048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">paste in your key, and hit save<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"601\" height=\"189\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_zZ1mXblGgB.png\" alt=\"\" class=\"wp-image-628\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_zZ1mXblGgB.png 601w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_zZ1mXblGgB-300x94.png 300w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><figcaption class=\"wp-element-caption\">You can now start the Add-on<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"96\" height=\"78\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/brave_R0WWfnz7yA.png\" alt=\"\" class=\"wp-image-629\"\/><figcaption class=\"wp-element-caption\">Head over to &#8220;Log&#8221; (top of the page)<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"467\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-28-1024x467.png\" alt=\"\" class=\"wp-image-631\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-28-1024x467.png 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-28-300x137.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-28-768x350.png 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-28.png 1059w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">hit refresh a couple of times, and check if it was successful<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"reboot-hassos-home-assistant-operating-system\">Reboot HassOS \/ Home Assistant Operating System<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/cln.io\/blog\/reboot-home-assistant-hypervisor\/\" target=\"_blank\" rel=\"noreferrer noopener\">Reboot your raspberry pi \/ reboot HassOS <\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Settings &gt; System &gt; Hardware &gt; Reboot Host<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"optional-upload-get-your-private-key-on-home-assistant\">Optional: upload\/get your private key on home assistant<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"592\" height=\"398\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-29.png\" alt=\"\" class=\"wp-image-632\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-29.png 592w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-29-300x202.png 300w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><figcaption class=\"wp-element-caption\">Head over to &#8220;File Editor&#8221; and navigate to the &#8220;certs&#8221; folder, upload your private key here<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">now you can SSH into the root system from inside Home Assistant<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">chmod 400 \/config\/certs\/hassio\nssh -p 22222 -i config\/certs\/hassio localhost<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"367\" height=\"90\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-31.png\" alt=\"\" class=\"wp-image-643\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-31.png 367w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-31-300x74.png 300w\" sizes=\"auto, (max-width: 367px) 100vw, 367px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">NOTE: so I first SSH to the addon (port 22) from inside the addon I ssh to the localhost:22222 (host system)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"642\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-68-1024x642.png\" alt=\"\" class=\"wp-image-1689\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-68-1024x642.png 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-68-300x188.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-68-768x482.png 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-68-1536x964.png 1536w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/image-68-2048x1285.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/jainath-ponnala-jvHymbpto1E-unsplash-1024x683.jpg\" alt=\"\" class=\"wp-image-761\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/jainath-ponnala-jvHymbpto1E-unsplash-1024x683.jpg 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/jainath-ponnala-jvHymbpto1E-unsplash-300x200.jpg 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/jainath-ponnala-jvHymbpto1E-unsplash-768x512.jpg 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/jainath-ponnala-jvHymbpto1E-unsplash-1536x1024.jpg 1536w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/09\/jainath-ponnala-jvHymbpto1E-unsplash-2048x1365.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Photo by <a href=\"https:\/\/unsplash.com\/@jainath?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\" target=\"_blank\" rel=\"noreferrer noopener\">Jainath Ponnala<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/raspberry-pi?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\" target=\"_blank\" rel=\"noreferrer noopener\">Unsplash<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are detailed instructions on how to get &#8220;root&#8221; ssh access to the Home Assistant Operating System but it involves plugging in a USB Drive and importing the SSH keys from that one. On this [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":608,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-605","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-homeassistant"],"_links":{"self":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts\/605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/comments?post=605"}],"version-history":[{"count":23,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts\/605\/revisions"}],"predecessor-version":[{"id":1690,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts\/605\/revisions\/1690"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/media\/608"}],"wp:attachment":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/media?parent=605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/categories?post=605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/tags?post=605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}