Skip to content

Instantly share code, notes, and snippets.

@gpr
Created January 28, 2022 10:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gpr/a75ad29809a208383d51db52b654df5b to your computer and use it in GitHub Desktop.
Save gpr/a75ad29809a208383d51db52b654df5b to your computer and use it in GitHub Desktop.
Setup remote environment shared with Teleport
# /etc/profile.d/teleport.sh
# Set environment in Teleport session
if [ -n "${SSH_TELEPORT_USER}" ]
then
USER_FIRSTNAME=$(echo "${SSH_TELEPORT_USER%%@*}" | cut -d'.' -f1)
USER_LASTNAME=$(echo "${SSH_TELEPORT_USER%%@*}" | cut -d'.' -f2)
export USER_FULLNAME="${USER_FIRSTNAME^} ${USER_LASTNAME^}"
export GIT_AUTHOR_NAME="${USER_FULLNAME}"
export GIT_AUTHOR_EMAIL="${SSH_TELEPORT_USER}"
export GIT_COMMITTER_NAME="${USER_FULLNAME}"
export GIT_COMMITTER_EMAIL="${SSH_TELEPORT_USER}"
export EMAIL="${SSH_TELEPORT_USER}"
export TELEPORT_USER_CONF_DIR="${HOME}/.teleport/${SSH_TELEPORT_USER}"
mkdir -p "${TELEPORT_USER_CONF_DIR}"
export HISTFILE="${TELEPORT_USER_CONF_DIR}/history"
if [ -f /usr/bin/byobu ]
then
export BYOBU_CONFIG_DIR="${TELEPORT_USER_CONF_DIR}/byobu"
mkdir -p "${BYOBU_CONFIG_DIR}"
TMUX_CMD=byobu
else
TMUX_CMD=tmux
fi
export TMUX_SESSION=$(echo $SSH_TELEPORT_USER | sha1sum | cut -c1-8)
echo "Launching tmux sesssion ($TMUX_SESSION)"
if $TMUX_CMD ls -F '#{session_name}' | grep $TMUX_SESSION 2>/dev/null >&2
then
exec $TMUX_CMD -f ${TELEPORT_USER_CONF_DIR}/tmux.conf a -t $TMUX_SESSION
else
exec $TMUX_CMD -f ${TELEPORT_USER_CONF_DIR}/tmux.conf new -s $TMUX_SESSION
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment