@@ -20,19 +20,26 @@ jobs:
20
20
steps :
21
21
- name : Configure SSH
22
22
run : |
23
- mkdir -p ~/.ssh/
23
+ mkdir -p ~/.ssh
24
24
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
25
25
chmod 600 ~/.ssh/id_rsa
26
- echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
26
+ # Disable strict host key checking and automatically add host keys
27
+ echo "StrictHostKeyChecking no" >> ~/.ssh/config
28
+ # Add the host key (optional but recommended)
29
+ ssh-keyscan -H ${{ secrets.VM_HOST }} >> ~/.ssh/known_hosts
30
+ chmod 644 ~/.ssh/known_hosts
31
+
32
+ - name : Test SSH Connection
33
+ run : ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} "echo 'SSH connection successful'"
27
34
28
35
- name : Login to GitHub Container Registry on VM
29
36
run : |
30
- ssh -i ~/.ssh/id_rsa ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} \
37
+ ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} \
31
38
"echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin"
32
39
33
40
- name : Deploy to VM
34
41
run : |
35
- ssh -i ~/.ssh/id_rsa ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} "\
42
+ ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} "\
36
43
docker pull ${{ env.IMAGE_NAME }} && \
37
44
docker stop ${{ env.CONTAINER_NAME }} || true && \
38
45
docker rm ${{ env.CONTAINER_NAME }} || true && \
51
58
52
59
- name : Verify Deployment
53
60
run : |
54
- ssh -i ~/.ssh/id_rsa ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} "\
61
+ ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ env.VM_HOST }} "\
55
62
if ! docker ps | grep -q ${{ env.CONTAINER_NAME }}; then \
56
63
echo 'Container is not running' && exit 1; \
57
64
fi && \
0 commit comments