5.5. suSSHi Environment Variables
By default, the suSSHi Gateways send some environment variables to the target server along with others received from the client. If the target server is configured to allow this variables, they can be used on the target for further logging or other nice features.
Name |
Description |
---|---|
SUSSHI_MAX_IDLE |
Max. time of inactivity in seconds |
SUSSHI_MAX_SESSION |
Absolute time at which the session is always terminated in seconds since 1970-01-01 00:00:00 UTC |
SUSSHI_SESSION_ID |
The Session ID assigned by suSSHi |
SUSSHI_SSH_CONNECTION |
Connection information: <client_ip> <client_port> <gateway_ip> <target_ip> <target_port> |
SUSSHI_USER |
The suSSHi Gateway Username |
The default configuration of sending these environment variables can be changed in the Partition Settings / Target Settings.
5.5.1. Target configuration
To have the target server accept the SUSSHI_*
variables, you have to configure the SSH server accordingly.
For OpenSSH it is the AcceptEnv
option in /etc/ssh/sshd_config
that controls the acceptance of environment
variables sent by the client. Please refer to OpenSSH server for more details.
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
AcceptEnv SUSSHI_*
Verify that the configuration is working properly as follows:
user@target-01:~> env | grep SUSSHI
SUSSHI_SSH_CONNECTION=100.64.55.20 48976 100.22.22.11 22
SUSSHI_MAX_SESSION=1547670856
SUSSHI_USER=johndoe
SUSSHI_MAX_IDLE=43200
SUSSHI_SESSION_ID=20190115-213416-0001-16541
For example, you can use these variables to inform the user about the session idle timers, or use them for further logging or to have personalized shell history logs or whatever idea you have…
5.5.2. Use Cases
Display the time when session will end and what idle time is set
[[ -n ${SUSSHI_MAX_IDLE} && -n ${SUSSHI_MAX_SESSION} ]] && \
echo "Your SSH Session will end after `date -u -d@${SUSSHI_MAX_IDLE} +'%T'` hours of inactivity or by `date -d@${SUSSHI_MAX_SESSION}`."
Personalized Bash history for system logins
HISTFILE="$HOME/.bash_history.${SUSSHI_USER:-$USER}"