add tokenforwarding for etoken and x2go
This commit is contained in:
parent
020bcafd10
commit
a1dfce0d4c
2 changed files with 55 additions and 0 deletions
|
@ -127,6 +127,9 @@ EOF
|
|||
# source loading defaults part of myshellconfig
|
||||
. "${MYSHELLCONFIG_BASE}/myshell_load_defaults"
|
||||
|
||||
# source loading workaround for x2go to forward local etoken to remote machine with forwardagent
|
||||
. "${MYSHELLCONFIG_BASE}/myshell_load_x2go_tokenforward"
|
||||
|
||||
cat << EOF >> "${MYSHELLCONFIG_LOGFILE}"
|
||||
--8<--- end ---------------- $(date) ---------------8<--
|
||||
|
||||
|
|
52
myshell_load_x2go_tokenforward
Normal file
52
myshell_load_x2go_tokenforward
Normal file
|
@ -0,0 +1,52 @@
|
|||
# --- BEGIN X2Go SSH forwarding workaround ---
|
||||
|
||||
|
||||
# Part that runs in regular SSH session
|
||||
|
||||
# check we have an agent socket and
|
||||
# check we have an ~/.x2go directory
|
||||
echo "SSH_AUTH_SOCK: ${SSH_AUTH_SOCK-x} - ${SSH_AUTH_SOCK+x} - ${SSH_AUTH_SOCK}"
|
||||
if [ -n "$SSH_AUTH_SOCK" ] && \
|
||||
[ -d ~/.x2go ] && \
|
||||
[ -z "$X2GO_AGENT_PID" ] ; then
|
||||
# touch the output file and set permissions
|
||||
# (as tight as possible)
|
||||
touch ~/.x2go/agentsocket
|
||||
chmod 600 ~/.x2go/agentsocket
|
||||
chown $USER ~/.x2go/agentsocket
|
||||
# write file name of agent socket into file
|
||||
echo old agentsock
|
||||
cat ~/.x2go/agentsocket
|
||||
echo $SSH_AUTH_SOCK >~/.x2go/agentsocket
|
||||
echo "write SSH_AUTH_SOCK to ~/.x2go/agentsocket"
|
||||
fi
|
||||
|
||||
# Part that runs in X2Go session
|
||||
|
||||
# check we're on an X2GoServer (x2golistsessions is in path),
|
||||
# check we have a DISPLAY set, and
|
||||
# check our client DISPLAY and SSH client IP correspond to
|
||||
# a running X2Go session and
|
||||
# check ~/.x2go/agentsocket is a regular file
|
||||
if which x2golistsessions >/dev/null && \
|
||||
[ -n "$DISPLAY" ] && \
|
||||
[ -n "$(x2golistsessions | \
|
||||
awk -F '|' '":"$3 == "'$DISPLAY'" && \
|
||||
$5 == "R" && \
|
||||
$8 == "'$(echo $SSH_CLIENT | \
|
||||
awk '{print $1}')'" { print $3 }')" ] && \
|
||||
[ -f ~/.x2go/agentsocket ] ; then
|
||||
# all checks passed, read content of file
|
||||
# (might still contain stale agent socket or garbage
|
||||
MIGHTBEOURAGENT=$(cat ~/.x2go/agentsocket)
|
||||
# check if it corresponds to an existing socket
|
||||
echo "MIGHTBEOURAGENT: $MIGHTBEOURAGENT"
|
||||
if [ -S "$MIGHTBEOURAGENT" ]; then
|
||||
# export path to agent socket
|
||||
export SSH_AUTH_SOCK=$MIGHTBEOURAGENT
|
||||
echo export it
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# ---- END X2Go SSH forwarding workaround ----
|
Loading…
Reference in a new issue