docs/cli/commands/pam.mdx
infisical pam <resource-type> <subcommand> [flags]
The infisical pam command provides privileged access management capabilities for securely accessing databases, SSH servers, Kubernetes clusters, and Redis instances through Infisical's Gateway.
All PAM commands require the user to be logged in via infisical login.
infisical pam
├── db
│ └── access (start local database proxy)
├── ssh
│ ├── access (start interactive SSH session)
│ ├── exec (execute single command over SSH)
│ └── proxy (start SSH proxy for SCP/SFTP/rsync)
├── kubernetes (alias: k8s)
│ └── access (start local Kubernetes proxy)
└── redis
└── access (start local Redis proxy)
$ infisical pam db access --resource <resource-name> --account <account-name> [flags]
# Example
$ infisical pam db access --resource infisical-shared-cloud-instances --account infisical --project-id <project-uuid> --duration 4h
```bash
# Example
infisical pam db access --resource=my-database-resource --account=admin
```
```bash
# Example
infisical pam db access --resource=my-database-resource --account=admin
```
```bash
# Example
infisical pam db access --resource=my-database-resource --account=admin --project-id=<project-uuid>
```
Default value: `1h`
```bash
# Example
infisical pam db access --resource=my-database-resource --account=admin --duration=4h
```
Default value: `0`
```bash
# Example
infisical pam db access --resource=my-database-resource --account=admin --port=5432
```
```bash
# Example
infisical pam db access --resource=my-database-resource --account=admin --domain=https://your-infisical-instance.com
```
The command displays a connection string based on the database type:
| Database Type | Connection String Format |
|---|---|
| PostgreSQL | postgres://<username>@localhost:<port>/<database> |
| MySQL | mysql://<username>@localhost:<port>/<database> |
| MS SQL Server | sqlserver://<username>@localhost:<port>?database=<database>&encrypt=false&trustServerCertificate=true |
$ infisical pam ssh <subcommand> --resource <resource-name> --account <account-name> [flags]
```bash
$ infisical pam ssh access --resource <resource-name> --account <account-name> [flags]
# Example
$ infisical pam ssh access --resource prod-servers --account root --project-id <project-uuid> --duration 1h
```
```bash
$ infisical pam ssh exec "<command>" --resource <resource-name> --account <account-name> [flags]
# Example
$ infisical pam ssh exec "ls -la /var/log" --resource prod-servers --account root --project-id <project-uuid>
# Use in a script to capture output
$ OUTPUT=$(infisical pam ssh exec "cat /etc/hostname" --resource prod-servers --account root --project-id <project-uuid>)
```
<Info>
The exit code from the remote command is propagated to the CLI exit code, making this suitable for scripts that check command success.
</Info>
| Argument | Description |
|----------|-------------|
| `command` | The command to execute on the remote server (passed as first argument) |
```bash
$ infisical pam ssh proxy --resource <resource-name> --account <account-name> [flags]
# Example
$ infisical pam ssh proxy --resource prod-servers --account root --project-id <project-uuid>
# Output:
# SSH proxy listening on 127.0.0.1:53619
# Username: root
# Session expires: 2026-04-02T09:25:08+08:00
#
# Use this proxy with SSH, SCP, SFTP, or rsync:
# ssh -p 53619 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]
# scp -P 53619 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null <local-file> [email protected]:<remote-path>
#
# Press Ctrl+C to stop the proxy.
```
#### Using the Proxy
In another terminal, use the proxy for file transfers:
```bash
# SCP file transfer
scp -P <port> -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null local-file.txt [email protected]:/remote/path/
# rsync
rsync -e "ssh -p <port> -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" local-dir/ [email protected]:/remote/path/
# SFTP
sftp -P <port> -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]
```
All SSH subcommands share the following flags:
<Accordion title="--resource"> Name of the PAM resource to access.```bash
# Example
infisical pam ssh access --resource=prod-servers --account=root
```
```bash
# Example
infisical pam ssh access --resource=prod-servers --account=root
```
```bash
# Example
infisical pam ssh access --resource=prod-servers --account=root --project-id=<project-uuid>
```
Default value: `1h`
```bash
# Example
infisical pam ssh access --resource=prod-servers --account=root --duration=2h
```
Default value: `0`
```bash
# Example
infisical pam ssh proxy --resource=prod-servers --account=root --port=2222
```
```bash
# Example
infisical pam ssh access --resource=prod-servers --account=root --domain=https://your-infisical-instance.com
```
Alias: infisical pam k8s
$ infisical pam kubernetes access --resource <resource-name> --account <account-name> [flags]
# Example
$ infisical pam kubernetes access --resource prod-cluster --account developer --project-id <project-uuid> --duration 4h
# Using the alias
$ infisical pam k8s access --resource prod-cluster --account developer --project-id <project-uuid>
```bash
# Example
infisical pam kubernetes access --resource=prod-cluster --account=developer
```
```bash
# Example
infisical pam kubernetes access --resource=prod-cluster --account=developer
```
```bash
# Example
infisical pam kubernetes access --resource=prod-cluster --account=developer --project-id=<project-uuid>
```
Default value: `1h`
```bash
# Example
infisical pam kubernetes access --resource=prod-cluster --account=developer --duration=4h
```
Default value: `0`
```bash
# Example
infisical pam kubernetes access --resource=prod-cluster --account=developer --port=8080
```
```bash
# Example
infisical pam kubernetes access --resource=prod-cluster --account=developer --domain=https://your-infisical-instance.com
```
$ infisical pam redis access --resource <resource-name> --account <account-name> [flags]
# Example
$ infisical pam redis access --resource my-redis-resource --account redis-admin --duration 4h --port 6379 --project-id <project-uuid>
```bash
# Example
infisical pam redis access --resource=my-redis-resource --account=redis-admin
```
```bash
# Example
infisical pam redis access --resource=my-redis-resource --account=redis-admin
```
```bash
# Example
infisical pam redis access --resource=my-redis-resource --account=redis-admin --project-id=<project-uuid>
```
Default value: `1h`
```bash
# Example
infisical pam redis access --resource=my-redis-resource --account=redis-admin --duration=4h
```
Default value: `0`
```bash
# Example
infisical pam redis access --resource=my-redis-resource --account=redis-admin --port=6379
```
```bash
# Example
infisical pam redis access --resource=my-redis-resource --account=redis-admin --domain=https://your-infisical-instance.com
```