nx1x/Cloudflare Tunnel SSH Setup
Set up SSH via Cloudflare Tunnel with cloudflared - zero-trust access without exposing port 22
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit May 9, 2026
- License
- Apache 2.0
Pinned Snippet
uses: nx1x/cloudflare-tunnel-ssh-action@5b09bfc4ba3dc20b3d77d96271fff5a20fe64107 # v1.0.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| cf-access-client-id | Cloudflare Access service token ID (used as TUNNEL_SERVICE_TOKEN_ID) | yes | — |
| cf-access-client-secret | Cloudflare Access service token secret (used as TUNNEL_SERVICE_TOKEN_SECRET) | yes | — |
| ssh-private-key | SSH private key (Ed25519 or RSA) for authenticating to the remote server | yes | — |
| ssh-host | SSH hostname routed through Cloudflare Tunnel (e.g. ssh.example.com) | yes | — |
| ssh-user | SSH username on the remote server | no | deploy |
| cloudflared-version | cloudflared version to install. Use "latest" or a specific tag like "2025.4.0". | no | latest |
| ssh-key-path | Filesystem path where the SSH private key will be written | no | ~/.ssh/id_ed25519 |
| connect-timeout | SSH ConnectTimeout in seconds (cloudflared handshake can take several seconds) | no | 120 |
| server-alive-interval | SSH ServerAliveInterval in seconds (keep-alive ping frequency) | no | 30 |
| test-connection | Run a test SSH command after setup to verify the tunnel is working | no | true |
Outputs
no outputs