diff --git a/helm/ti-coder/Chart.lock b/helm/ti-coder/Chart.lock
index 5ad4ece8f7d454dfbea71b117fa43641809343d2..04c9e62d64609c135b810a50765ff655201460c5 100644
--- a/helm/ti-coder/Chart.lock
+++ b/helm/ti-coder/Chart.lock
@@ -4,6 +4,6 @@ dependencies:
   version: 15.5.38
 - name: coder
   repository: https://helm.coder.com/v2
-  version: 2.16.1
-digest: sha256:17bba85729d30582c3a8df19f5b2201eb226f35c6e83c8a4c4f5ffb5365d671f
-generated: "2024-11-08T09:19:50.735698355+01:00"
+  version: 2.17.3
+digest: sha256:b045aab3cd2a955c27846be604a60062dae6c68af297bb87997b30b1354f2784
+generated: "2025-01-07T10:21:45.025842828+01:00"
diff --git a/helm/ti-coder/Chart.yaml b/helm/ti-coder/Chart.yaml
index 813964ace51e589dd3c0edcbe16188da470f83d8..2160d4a3383a22e7bcf01f02bc5e73d8fc3045c6 100644
--- a/helm/ti-coder/Chart.yaml
+++ b/helm/ti-coder/Chart.yaml
@@ -15,12 +15,12 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 0.3.1
+version: 0.4.7
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
 # It is recommended to use it with quotes.
-appVersion: "2.16.1"
+appVersion: "2.17.3"
 
 dependencies:
   - name: postgresql
@@ -28,5 +28,5 @@ dependencies:
     repository: "oci://registry-1.docker.io/bitnamicharts"
 
   - name: coder
-    version: "2.16.1"
+    version: "2.17.3"
     repository: "https://helm.coder.com/v2"
diff --git a/helm/ti-coder/README.md b/helm/ti-coder/README.md
index a8488bb9ee4206825352ae470bff111130f71a57..867baa22b16cd94d5f020b85da308ef6f604e412 100644
--- a/helm/ti-coder/README.md
+++ b/helm/ti-coder/README.md
@@ -13,4 +13,4 @@ Für die Datenbank erzeugt Coder ein neues Passwort. Dieses Passwort wird in ein
 | oidc.clientSecret           | "coder"                                         | OIDC Client Secret                                                |
 | coder.coder.ingress.enabled | true                                            | Ingress aktivieren                                                |
 | coder.coder.ingress.host    | "coder.informatik.uni-halle.de"                 | Ingress Hostname                                                  |
-| coder.coder.version         | "2.15.3"                                        | Coder Version (muss mit der installierten Version übereinstimmen) |
+| coder.coder.version         | "2.17.3"                                        | Coder Version (muss mit der installierten Version übereinstimmen) |
diff --git a/helm/ti-coder/templates/NOTES.txt b/helm/ti-coder/templates/NOTES.txt
index 00d983518f1053a3d5d919f073935cb19723d783..7f426f56afd347fc71f48e282640404409e9b605 100644
--- a/helm/ti-coder/templates/NOTES.txt
+++ b/helm/ti-coder/templates/NOTES.txt
@@ -1,3 +1,3 @@
-Installed coder in version 2.16.1 and Postgres in version 16.3.
+Installed coder in version 2.17.3 and Postgres in version 16.3.
 
 Das Passwort für die Datenbank wurde im Secret "coder-postgresql" abgelegt.
\ No newline at end of file
diff --git a/helm/ti-coder/templates/secret-ssh.yaml b/helm/ti-coder/templates/secret-ssh.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e13f95fe7bf51377201efe00ff9808d6908a2857
--- /dev/null
+++ b/helm/ti-coder/templates/secret-ssh.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Secret
+
+metadata:
+  name: coder-ssh-key
+  labels:
+    app: coder
+
+type: kubernetes.io/ssh-auth
+data:
+    ssh-publickey: {{ .Values.coder.ssh.id_ed25519_pub | b64enc }}
+    ssh-privatekey: {{ .Values.coder.ssh.id_ed25519 | b64enc }}
\ No newline at end of file
diff --git a/helm/ti-coder/templates/ssh.yaml b/helm/ti-coder/templates/ssh.yaml
deleted file mode 100644
index 0f861b6e015ede8ae3cee6f5537255ec59d6e75f..0000000000000000000000000000000000000000
--- a/helm/ti-coder/templates/ssh.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
-  name: coder-ssh-key
-  labels:
-    app: coder
-
-data:
-  id_ed25519: {{ .Values.coder.id_ed25519 | b64enc }}
diff --git a/helm/ti-coder/values.yaml b/helm/ti-coder/values.yaml
index 623705efb8c1673dba6c69cb94d0ebb7826f7720..45330f11f887cf65cbaf24c2c590376b6a47c839 100644
--- a/helm/ti-coder/values.yaml
+++ b/helm/ti-coder/values.yaml
@@ -21,7 +21,20 @@ postgresql:
         cpu: "300m"
 
 coder:
-  id_ed25519: ""
+  ssh:
+    # make sure to include an empty line at the end of the multiline string
+    id_ed25519: |
+      -----BEGIN OPENSSH PRIVATE KEY-----
+      b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+      QyNTUxOQAAACDnV1cE6bNnLiCKv+1MAMOOttdIMYH77N8x1A798zKSwQAAAJhklVeUZJVX
+      lAAAAAtzc2gtZWQyNTUxOQAAACDnV1cE6bNnLiCKv+1MAMOOttdIMYH77N8x1A798zKSwQ
+      AAAEDW7W1C+Q46zWER/JvSxYeDecaHbnKBSuF7PJS06pmjT+dXVwTps2cuIIq/7UwAw462
+      10gxgfvs3zHUDv3zMpLBAAAAEHNlYmFzdGlhbkBzZW1tZWwBAgMEBQ==
+      -----END OPENSSH PRIVATE KEY-----
+
+    # make sure to include an empty line at the end of the multiline string
+    id_ed25519_pub: |
+      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdXVwTps2cuIIq/7UwAw46210gxgfvs3zHUDv3zMpLB coder@coder.tikube.informatik.uni-halle.de
 
   coder:
     env:
@@ -43,4 +56,31 @@ coder:
         {
           nginx.ingress.kubernetes.io/proxy-body-size: "10g"
         }
-    version: "2.16.1"
+    version: "2.17.3"
+
+    volumes:
+      - name: coder-ssh-dir
+        emptyDir: { }
+      - name: coder-ssh-key
+        secret:
+          secretName: coder-ssh-key
+
+    initContainers:
+      - name: ssh-container
+        image: busybox:1.28
+        command: ["sh", "-c", "
+          cp /var/coder/ssh_key/ssh-publickey /var/coder/home/id_ed25519.pub\n
+          cp /var/coder/ssh_key/ssh-privatekey /var/coder/home/id_ed25519\n
+          chmod 400 /var/coder/home/id_ed25519\n
+          chown -R 1000:1000 /var/coder/home\n
+        "]
+        volumeMounts:
+          - name: coder-ssh-dir
+            mountPath: /var/coder/home
+          - name: coder-ssh-key
+            readOnly: true
+            mountPath: /var/coder/ssh_key
+
+    volumeMounts:
+      - name: coder-ssh-dir
+        mountPath: /home/coder/.ssh
\ No newline at end of file