Skip to main content
  • Start gateway
  • Start gateway as background daemon (Linux only)
infisical gateway start --name=<name> --relay=<relay-name> --auth-method=<auth-method>

Description

The Infisical gateway provides secure access to private resources using modern TCP-based SSH tunnel architecture with enhanced security and flexible deployment options. The gateway system uses SSH reverse tunnels over TCP, eliminating firewall complexity and providing excellent performance for enterprise environments.
Deprecation and Migration Notice: The legacy infisical gateway command (v1) will be removed in a future release. Please migrate to infisical gateway start (Gateway v2).If you are moving from Gateway v1 to Gateway v2, this is NOT a drop-in switch. Gateway v2 creates new gateway instances with new gateway IDs. You must update any existing resources that reference gateway IDs (for example: dynamic secret configs, app connections, or other gateway-bound resources) to point to the new Gateway v2 gateway resource. Until you update those references, traffic will continue to target the old v1 gateway.

Subcommands & flags

infisical gateway start

Run the Infisical gateway component within your the network where your target resources are located. The gateway establishes an SSH reverse tunnel to the specified relay server and provides secure access to private resources within your network.
infisical gateway start --relay=<relay-name> --name=<name> --auth-method=<auth-method>
Once started, the gateway component will:
  • Establish outbound SSH reverse tunnels to relay servers (no inbound firewall rules needed)
  • Authenticate using SSH certificates issued by Infisical
  • Automatically reconnect if the connection is lost
  • Provide access to private resources within your network

Authentication

The Relay supports multiple authentication methods. Below are the available authentication methods, with their respective flags.
The Universal Auth method is a simple and secure way to authenticate with Infisical. It requires a client ID and a client secret to authenticate with Infisical.
Flags
  infisical gateway start --auth-method=universal-auth --client-id=<client-id> --client-secret=<client-secret> --relay=<relay-name> --name=<name>
The Native Kubernetes method is used to authenticate with Infisical when running in a Kubernetes environment. It requires a service account token to authenticate with Infisical.
Flags
  infisical gateway start --auth-method=kubernetes --machine-identity-id=<machine-identity-id> --relay=<relay-name> --name=<name>
The Native Azure method is used to authenticate with Infisical when running in an Azure environment.
Flags
  infisical gateway start --auth-method=azure --machine-identity-id=<machine-identity-id> --relay=<relay-name> --name=<name>
The Native GCP ID Token method is used to authenticate with Infisical when running in a GCP environment.
Flags
  infisical gateway start --auth-method=gcp-id-token --machine-identity-id=<machine-identity-id> --relay=<relay-name> --name=<name>
The GCP IAM method is used to authenticate with Infisical with a GCP service account key.
Flags
  infisical gateway start --auth-method=gcp-iam --machine-identity-id=<machine-identity-id> --service-account-key-file-path=<service-account-key-file-path> --relay=<relay-name> --name=<name>
The AWS IAM method is used to authenticate with Infisical with an AWS IAM role while running in an AWS environment like EC2, Lambda, etc.
Flags
  infisical gateway start --auth-method=aws-iam --machine-identity-id=<machine-identity-id> --relay=<relay-name> --name=<name>
The OIDC Auth method is used to authenticate with Infisical via identity tokens with OIDC.
Flags
  infisical gateway start --auth-method=oidc-auth --machine-identity-id=<machine-identity-id> --jwt=<oidc-jwt> --relay=<relay-name> --name=<name>
The JWT Auth method is used to authenticate with Infisical via a JWT token.
Flags
  infisical gateway start --auth-method=jwt-auth --jwt=<jwt> --machine-identity-id=<machine-identity-id> --relay=<relay-name> --name=<name>
You can use the INFISICAL_TOKEN environment variable to authenticate with Infisical with a raw machine identity access token.
Flags
  infisical gateway start --token=<token> --relay=<relay-name> --name=<name>

Other Flags

The name of the relay that this gateway should connect to. The relay must be running and registered before starting the gateway.
# Example
infisical gateway start --relay=my-relay --name=my-gateway --token=<token>
Note: If using organization relays or self-hosted instance relays, you must first start a relay server using infisical relay start before connecting gateways to it. For Infisical Cloud users using instance relays, the relay infrastructure is already running and managed by Infisical.
The name of the gateway instance.
# Example
infisical gateway start --name=my-gateway --relay=my-relay --token=<token>
Domain of your self-hosted Infisical instance.
# Example
infisical gateway start --domain=https://app.your-domain.com --relay=<relay-name> --name=<name>
Install and enable the gateway as a systemd service. This command must be run with sudo on Linux.
sudo infisical gateway systemd install --token=<token> --domain=<domain> --name=<name> --relay=<relay-name>

Requirements

  • Must be run on Linux
  • Must be run with root/sudo privileges
  • Requires systemd

Flags

The machine identity access token to authenticate with Infisical.
# Example
sudo infisical gateway systemd install --token=<token> --name=<name> --relay=<relay-name>
You may also expose the token to the CLI by setting the environment variable INFISICAL_TOKEN before executing the install command.
Domain of your self-hosted Infisical instance.
# Example
sudo infisical gateway systemd install --domain=https://app.your-domain.com --name=<name> --relay=<relay-name>
The name of the gateway instance.
# Example
sudo infisical gateway systemd install --name=my-gateway --token=<token> --relay=<relay-name>
The name of the relay that this gateway should connect to.
# Example
sudo infisical gateway systemd install --relay=my-relay --token=<token> --name=<name>

Service Details

The systemd service is installed with secure defaults:
  • Service file: /etc/systemd/system/infisical-gateway.service
  • Config file: /etc/infisical/gateway.conf
  • Runs with restricted privileges:
    • InaccessibleDirectories=/home
    • PrivateTmp=yes
    • Resource limits configured for stability
  • Automatically restarts on failure
  • Enabled to start on boot
  • Maintains persistent SSH reverse tunnel connections to the specified relay
  • Handles certificate rotation and connection recovery automatically
After installation, manage the service with standard systemd commands:
sudo systemctl start infisical-gateway    # Start the service
sudo systemctl stop infisical-gateway     # Stop the service
sudo systemctl status infisical-gateway   # Check service status
sudo systemctl disable infisical-gateway  # Disable auto-start on boot

Legacy Gateway Commands

This command is deprecated and will be removed in a future release.Please migrate to infisical gateway start for the new TCP-based SSH tunnel architecture.Migration required: If you are currently using Gateway v1 (via infisical gateway), moving to Gateway v2 is not in-place. Gateway v2 provisions new gateway instances with new gateway IDs. Update any resources that reference a gateway ID (for example: dynamic secret configs, app connections, or other gateway-bound resources) to use the new Gateway v2 gateway ID. Until you update those references, traffic will continue to target the old v1 gateway.
Run the legacy Infisical gateway in the foreground. The gateway will connect to the relay service and maintain a persistent connection.
infisical gateway --domain=<domain> --auth-method=<auth-method>

Authentication

The Infisical CLI supports multiple authentication methods. Below are the available authentication methods, with their respective flags.
The Universal Auth method is a simple and secure way to authenticate with Infisical. It requires a client ID and a client secret to authenticate with Infisical.
Flags
  infisical gateway --auth-method=universal-auth --client-id=<client-id> --client-secret=<client-secret>
The Native Kubernetes method is used to authenticate with Infisical when running in a Kubernetes environment. It requires a service account token to authenticate with Infisical.
Flags
  infisical gateway --auth-method=kubernetes --machine-identity-id=<machine-identity-id>
The Native Azure method is used to authenticate with Infisical when running in an Azure environment.
Flags
  infisical gateway --auth-method=azure --machine-identity-id=<machine-identity-id>
The Native GCP ID Token method is used to authenticate with Infisical when running in a GCP environment.
Flags
  infisical gateway --auth-method=gcp-id-token --machine-identity-id=<machine-identity-id>
The GCP IAM method is used to authenticate with Infisical with a GCP service account key.
Flags
  infisical gateway --auth-method=gcp-iam --machine-identity-id=<machine-identity-id> --service-account-key-file-path=<service-account-key-file-path>
The AWS IAM method is used to authenticate with Infisical with an AWS IAM role while running in an AWS environment like EC2, Lambda, etc.
Flags
  infisical gateway --auth-method=aws-iam --machine-identity-id=<machine-identity-id>
The OIDC Auth method is used to authenticate with Infisical via identity tokens with OIDC.
Flags
  infisical gateway --auth-method=oidc-auth --machine-identity-id=<machine-identity-id> --jwt=<oidc-jwt>
The JWT Auth method is used to authenticate with Infisical via a JWT token.
Flags
  infisical gateway --auth-method=jwt-auth --jwt=<jwt> --machine-identity-id=<machine-identity-id>
You can use the INFISICAL_TOKEN environment variable to authenticate with Infisical with a raw machine identity access token.
Flags
  infisical gateway --token=<token>

Other Flags

Domain of your self-hosted Infisical instance.
# Example
infisical gateway --domain=https://app.your-domain.com
This command is deprecated and will be removed in a future release.Please migrate to infisical gateway systemd install for the new TCP-based SSH tunnel architecture with enhanced security and better performance.Migration required: If you previously installed Gateway v1 via infisical gateway install, moving to Gateway v2 is not in-place. Gateway v2 provisions new gateway instances with new gateway IDs. Update any resources that reference a gateway ID (for example: dynamic secret configs, app connections, or other gateway-bound resources) to use the new Gateway v2 gateway ID. Until you update those references, traffic will continue to target the old v1 gateway.
Install and enable the legacy gateway as a systemd service. This command must be run with sudo on Linux.
sudo infisical gateway install --token=<token> --domain=<domain>

Requirements

  • Must be run on Linux
  • Must be run with root/sudo privileges
  • Requires systemd

Flags

The machine identity access token to authenticate with Infisical.
# Example
sudo infisical gateway install --token=<token>
You may also expose the token to the CLI by setting the environment variable INFISICAL_TOKEN before executing the install command.
Domain of your self-hosted Infisical instance.
# Example
sudo infisical gateway install --domain=https://app.your-domain.com

Service Details

The systemd service is installed with secure defaults:
  • Service file: /etc/systemd/system/infisical-gateway.service
  • Config file: /etc/infisical/gateway.conf
  • Runs with restricted privileges:
    • InaccessibleDirectories=/home
    • PrivateTmp=yes
    • Resource limits configured for stability
  • Automatically restarts on failure
  • Enabled to start on boot
After installation, manage the service with standard systemd commands:
sudo systemctl start infisical-gateway    # Start the service
sudo systemctl stop infisical-gateway     # Stop the service
sudo systemctl status infisical-gateway   # Check service status
sudo systemctl disable infisical-gateway  # Disable auto-start on boot