Herkese Selam,
Bir süredir çözemediğim problemi danışmak istiyorum.
OpenVPN kullanımını aktifleştirip portları dışarı kapatınca Github Actions üzerinden gerçekleştirdiğimiz WorkFlows da sorun yaşamaya başladık.
Github Actions marketplace içerisinde OpenVPN paketlerinin olduğunu gördüm ve hangi ayarları denesem de bir türlü ssh bağlantısı sağlayamadım. Siz bu süreci nasıl yönetiyorsunuz veya benim sizce bu süre zarfında eksik yaptığım hangi nokta var.
Yardımcı olabilir misiniz?
Github Actions üzerinde vpn'e bağlandınız mesajı yazmıyor ama success olarak diğer adıma geciyor. ping aşamasında iç ip ye ping atıyorum ama gitmiyor. Tabi ssh da bağlanmıyor.
name: Production
on:
push:
branches: [ main ]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install OpenVPN
run: |
sudo apt update
sudo apt install -y openvpn openvpn-systemd-resolved
- name: Create auth file
run: |
echo "${{ secrets.OVPN_USERNAME }}" > auth.txt
echo "${{ secrets.OVPN_PASSWORD }}" >> auth.txt
chmod 600 auth.txt
- name: Create key file
run: |
echo "${{ secrets.CA_CRT }}" > ca.crt
echo "${{ secrets.USER_CRT }}" > user.crt
echo "${{ secrets.OVPN_USER_KEY }}" > user.key
echo "${{ secrets.TLS_KEY }}" > tls.key
chmod 600 user.key
- name: Connect to VPN
run: |
sudo openvpn --config .github/workflows/github.ovpn --auth-user-pass auth.txt --key user.key --daemon --log openvpn.log --writepid openvpn.pid
- name: Wait for a VPN connection
timeout-minutes: 2
run: until ping -c1 your-server-address; do sleep 2; done
- name: Show OpenVPN Log
run: sudo cat openvpn.log
- name: Deploy
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.INTERNAL_HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: whoami
- name: Disconnect from VPN
run: sudo kill $(cat openvpn.pid)