+
+
+
+
+
+
+
+
diff --git a/swa/src/pages/404.astro b/swa/src/pages/404.astro
index 6f97c07..0cb2879 100644
--- a/swa/src/pages/404.astro
+++ b/swa/src/pages/404.astro
@@ -34,4 +34,4 @@ import Layout from '../layouts/Layout.astro';
.text {
font-size: 1.5rem;
}
-
\ No newline at end of file
+
diff --git a/swa/src/pages/index.astro b/swa/src/pages/index.astro
index 30bc9c8..1a224b6 100644
--- a/swa/src/pages/index.astro
+++ b/swa/src/pages/index.astro
@@ -1,28 +1,38 @@
---
import Layout from '../layouts/Layout.astro';
+import CardGrid from '../components/CardGrid.astro';
import SocialBubble from '../components/SocialBubble.astro';
// add font awesome icons
-import { faGithub, faPaypal, faStackOverflow } from '@fortawesome/free-brands-svg-icons'
+import { faGithub, faPaypal, faStackOverflow } from '@fortawesome/free-brands-svg-icons';
// import the Image component and the image
import { Image } from 'astro:assets';
-import CardGrid from '../components/CardGrid.astro'
+import profilePicture from '../images/profile-picture.jpg';
// import custom scripts
import loadRepositories from '../scripts/loadRepositories.js';
import loadGistsOfPastYear from '../scripts/loadGistsOfPastYear.js';
const repos = await loadRepositories(['clowa.dev', 'my-setup', 'docker-terraform', 'docker-powershell-core', 'arduino-plant-watering', 'golang-custom-rpi-exporter']);
const gists = await loadGistsOfPastYear();
+
+// Load blog posts dynamically from the posts directory
+const postFiles = import.meta.glob('./posts/*.md', { eager: true });
+const allPosts = Object.values(postFiles);
+// Filter out draft posts and sort by pubDate (newest first)
+const publishedPosts = allPosts
+ .filter((post: any) => post.frontmatter.draft !== true)
+ .sort((a: any, b: any) => new Date(b.frontmatter.pubDate).valueOf() - new Date(a.frontmatter.pubDate).valueOf());
---
Nice to meet you ๐๐ป I'm Cedric
@@ -51,7 +61,18 @@ const gists = await loadGistsOfPastYear();
post.url)
+ .map((post: any) => ({
+ title: post.frontmatter.title,
+ body: post.frontmatter.description,
+ href: post.url
+ }))}
+ />
+
+ ({
title: repo.name,
body: repo.description,
diff --git a/swa/src/pages/posts/home-assistant-host-ssh-access.md b/swa/src/pages/posts/home-assistant-host-ssh-access.md
new file mode 100644
index 0000000..1388933
--- /dev/null
+++ b/swa/src/pages/posts/home-assistant-host-ssh-access.md
@@ -0,0 +1,84 @@
+---
+layout: '../../layouts/BlogPost.astro'
+title: 'Accessing Home Assistant via SSH'
+draft: false
+pubDate: 2025-12-17
+description: 'A guide on how to access the node of your Home Assistant system using SSH.'
+author: 'Clowa'
+tags: ["home assistant", "SSH", "tutorial"]
+---
+
+If you're looking to access the Host of your Home Assistant via SSH for development or troubleshooting purposes, this guide will walk you through the necessary steps.
+
+The home assistant team itself published a guide on how to do this in their [developer documentation](https://developers.home-assistant.io/docs/operating-system/debugging/) and only recommend this for development and debugging purposes **not for regular use**.
+
+> [!WARNING]
+> Please note that accessing the host system is not intended for regular use. This method will grant you access to almost everything on your Home Assistant host system including the docker containers of Home Assistant and it's add-ons. Be very careful with what you do as you can easily break your Home Assistant installation to an unrecoverable state.
+
+## Prerequisites
+
+- Home Assistant installation
+- USB drive _(for storing your ssh key)_
+- A computer with an ssh client installed
+
+## Step 1: Generate SSH Keys
+
+First, you'll need to generate an SSH key pair on your local machine if you don't already have one. You can do this using the following command:
+
+```bash
+ssh-keygen -t rsa -b 4096
+```
+
+This command will create a public and private key pair. By default, the keys will be named `id_rsa` _(private key)_and `id_rsa.pub` _(public key)_ and stored in the `~/.ssh/` directory, but you will be prompted to specify a different location if desired.
+
+## Step 2: Prepare the USB Drive
+
+Next, format a USB drive as `FAT32`, `ext4` or `NTFS` and name this partition `CONFIG`. At the root of the partition, create a text file named `authorized_keys` (without any file extension) on the USB drive and copy the contents of your public key (the contents of `id_rsa.pub`) into this file. If you have multiple keys, you can add them on separate lines.
+
+> [!NOTE]
+> Ensure the `authorized_keys` file is saved with ASCII encoding and Unix-style line endings (LF) to avoid any issues. Windows uses CRLF by default, which will not work.
+
+## Step 3: Insert the USB into Home Assistant
+
+Now, safely eject the USB drive from your local machine and insert it into the Home Assistant host system. The Home Assistant OS will automatically detect the `authorized_keys` file on the USB drive during reboot and configure SSH access accordingly.
+
+In case your Home Assistant host is already running, you must reboot it to load the keys.
+
+## Step 4: Connect via SSH
+
+Once the Home Assistant host has rebooted, you can connect to it via SSH using the following command:
+
+```bash
+ssh root@homeassistant.local -p 22222 -i /path/to/your/private/key/id_rsa
+```
+
+Replace `/path/to/your/private/key/id_rsa` with the actual path to your private key file. If you are using a different hostname or IP address for your Home Assistant host, replace `homeassistant.local` with that address or hostname.
+
+You should now be connected to the Home Assistant host system via SSH. ๐
+
+## Step 5: Make things comfortable
+
+Optionally, you can enhance your SSH experience by creating or updating the SSH configuration file at `~/.ssh/config` on your local machine. Add the following configuration:
+
+```plaintext
+Host homeassistant
+ HostName homeassistant.local
+ Port 22222
+ User root
+ IdentityFile /path/to/your/private/key/id_rsa
+```
+
+>[!Tip]
+> If you use a password manager with SSH key support (such as 1Password or Bitwarden), or if your SSH key is loaded in an SSH agent via some other method, you can omit the `IdentityFile` line. For detailed steps, consult your password managerโs documentation.
+
+With this configuration, you can simply connect to your Home Assistant host by running:
+
+```bash
+ssh homeassistant
+```
+
+## Conclusion
+
+You have successfully set up SSH access to your Home Assistant host system. Remember to use this access responsibly and avoid making changes that could compromise the stability or security of your Home Assistant installation.
+
+Happy home automating! ๐
diff --git a/swa/src/styles/base.css b/swa/src/styles/base.css
index 9c61766..9f18080 100644
--- a/swa/src/styles/base.css
+++ b/swa/src/styles/base.css
@@ -2,19 +2,18 @@
--accent: 75, 70, 232;
--accent-light: 105, 129, 235;
--accent-dark: 25, 11, 120;
- --accent-gradient: linear-gradient(
- 45deg,
- rgb(var(--accent)),
- rgb(var(--accent-light)) 50%,
- white 60%
- );
- --contrast: #292a2d;
- --contrast-dark: #23262d;
+ --accent-gradient: linear-gradient(45deg,
+ rgb(var(--accent)),
+ rgb(var(--accent-light)) 50%,
+ white 60%);
+ --contrast: 41, 42, 45;
+ --contrast-dark: 35, 38, 45;
+ --contrast-light: 52, 58, 70;
}
html {
font-family: system-ui, sans-serif;
- background: var(--contrast);
+ background: rgb(var(--contrast));
}
code {