# Authentication Token This guide covers token-based authentication for securing socktop agent connections. - **Access Control** - Only authorized clients can connect - **Security** - Prevent unauthorized monitoring of your systems - **Auditability** - Track which tokens are in use - **Flexibility** - Revoke and rotate tokens as needed ## Configuring Token Authentication ### Agent Configuration #### APT Installation Edit `/etc/default/socktop-agent`: ```bash sudo nano /etc/default/socktop-agent ``` Add your token: ```bash # Authentication token TOKEN=7KJ9m3LnP4qR8sT2vW5xY6zA1bC3dE4fG7hI9jK0lM8= ``` Restart the service: ```bash sudo systemctl restart socktop-agent ``` #### Cargo Installation Start the agent with the token: ```bash socktop_agent --token "7KJ9m3LnP4qR8sT2vW5xY6zA1bC3dE4fG7hI9jK0lM8=" ``` Or with systemd service: ```bash sudo systemctl edit socktop-agent ``` Add environment variable: ```ini [Service] Environment="TOKEN=7KJ9m3LnP4qR8sT2vW5xY6zA1bC3dE4fG7hI9jK0lM8=" ``` ```bash sudo systemctl daemon-reload sudo systemctl restart socktop-agent ``` ### Client Configuration #### Command Line ```bash # Pass token via command line socktop ws://server:3000 -t "7KJ9m3LnP4qR8sT2vW5xY6zA1bC3dE4fG7hI9jK0lM8=" ``` #### Connection Profile Add token to profile (`~/.config/socktop/profiles.json`): ```json { "profiles": { "secure-server": { "url": "ws://server.example.com:3000/ws?token=7KJ9m3LnP4qR8sT2vW5xY6zA1bC3dE4fG7hI9jK0lM8=" } }, "version": 0 } ``` Then connect: ```bash socktop -P secure-server ``` #### Environment Variable ```bash # Set token in environment export SOCKTOP_TOKEN="7KJ9m3LnP4qR8sT2vW5xY6zA1bC3dE4fG7hI9jK0lM8=" # Connect without specifying token socktop ws://server:3000 ```