diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml
index 6ff5840..5f93391 100644
--- a/.gitea/workflows/deploy.yml
+++ b/.gitea/workflows/deploy.yml
@@ -17,18 +17,18 @@ jobs:
         run: npm run build
 
       - name: Deploy
-        uses: alinz/ssh-scp-action@master
-        with:
-          host: 10.20.6.7
-          port: 22
-          user: root
-          key: ${{ secrets.SSH_KEY }}
-          ssh_before: |
-            rm -r /opt/website
-            mkdir /opt/website
-          scp: |
-            $(ls -d -1 build/*) $(ls package*) root@10.20.6.7:/opt/website
-          ssh_after: |
-            cd /opt/website
-            npm i --omit=dev
-            systemctl restart website
+        env:
+          HOST: 10.20.6.7
+          USER: root
+          SSH_KEY: ${{ secrets.SSH_KEY }}
+        run: |
+          mkdir -p "$HOME/.ssh" && touch "$HOME/.ssh/known_hosts"
+          echo "$SSH_KEY" > "$HOME/.ssh/deploy_key"
+          chmod 700 "$HOME/.ssh" && chmod 600 "$HOME/.ssh/known_hosts" && chmod 600 "$HOME/.ssh/deploy_key"
+          eval $(ssh-agent)
+          ssh-add "$HOME/.ssh/deploy_key"
+          ssh-keyscan -t rsa "$HOST" >> "$HOME/.ssh/known_hosts"
+          
+          ssh -o StrictHostKeyChecking=no $USER@$HOST "rm -r /opt/website; mkdir -p /opt/website"
+          scp -r -o StrictHostKeyChecking=no $(ls -d -1 build/*) $(ls package*) $USER@$HOST:/opt/website
+          ssh -o StrictHostKeyChecking=no $USER@$HOST "cd /opt/website; npm i --omit=dev; systemctl restart website"