change from echo to logger

This commit is contained in:
Jakobus Schürz 2020-09-21 21:24:47 +02:00
parent c91d9e4400
commit c29af5a845
3 changed files with 42 additions and 43 deletions

View file

@ -3,9 +3,9 @@
[ -z "${SSH_IDENTITIES_DIR+x}" ] && { SSH_IDENTITIES_DIR="${SSH_IDENTITIES_DEFAULT_DIR-${HOME}/.ssh/identities}"; export SSH_IDENTITIES_DIR; } [ -z "${SSH_IDENTITIES_DIR+x}" ] && { SSH_IDENTITIES_DIR="${SSH_IDENTITIES_DEFAULT_DIR-${HOME}/.ssh/identities}"; export SSH_IDENTITIES_DIR; }
[ -z "${SSH_AGENTS_DIR+x}" ] && { SSH_AGENTS_DIR=${SSH_AGENTS_DEFAULT_DIR-~/.ssh/agents}; export SSH_AGENTS_DIR; } [ -z "${SSH_AGENTS_DIR+x}" ] && { SSH_AGENTS_DIR=${SSH_AGENTS_DEFAULT_DIR-~/.ssh/agents}; export SSH_AGENTS_DIR; }
[ -z "${SSH_AGENT_SOCKETS_DIR+x}" ] && { SSH_AGENT_SOCKETS_DIR=${SSH_AGENT_SOCKETS_DEFAULT_DIR-~/.ssh/agents}; export SSH_AGENT_SOCKETS_DIR; } [ -z "${SSH_AGENT_SOCKETS_DIR+x}" ] && { SSH_AGENT_SOCKETS_DIR=${SSH_AGENT_SOCKETS_DEFAULT_DIR-~/.ssh/agents}; export SSH_AGENT_SOCKETS_DIR; }
echo SSH_AGENTS_DIR: $SSH_AGENTS_DIR >&2 logdebug SSH_AGENTS_DIR: $SSH_AGENTS_DIR >&2
echo SSH_AGENT_SOCKETS_DIR: $SSH_AGENT_SOCKETS_DIR >&2 logdebug SSH_AGENT_SOCKETS_DIR: $SSH_AGENT_SOCKETS_DIR >&2
echo SSH_IDENTITIES_DIR: $SSH_IDENTITIES_DIR >&2 logdebug SSH_IDENTITIES_DIR: $SSH_IDENTITIES_DIR >&2
[ -z "${SSH_AGENTS_DIR-x}" ] || mkdir -vp "$SSH_AGENTS_DIR" [ -z "${SSH_AGENTS_DIR-x}" ] || mkdir -vp "$SSH_AGENTS_DIR"
[ -z "${SSH_AGENT_SOCKETS_DIR-x}" ] || mkdir -vp "$SSH_AGENT_SOCKETS_DIR" [ -z "${SSH_AGENT_SOCKETS_DIR-x}" ] || mkdir -vp "$SSH_AGENT_SOCKETS_DIR"
[ -z "${SSH_IDENTITIES_DIR-x}" ] || mkdir -vp "$SSH_IDENTITIES_DIR" [ -z "${SSH_IDENTITIES_DIR-x}" ] || mkdir -vp "$SSH_IDENTITIES_DIR"
@ -19,9 +19,9 @@ agent-start-or-restart () {
ssh_identity="$1" ssh_identity="$1"
agentfile="${SSH_AGENTS_DIR}/agent-${ssh_identity}-$(hostname)" agentfile="${SSH_AGENTS_DIR}/agent-${ssh_identity}-$(hostname)"
agentsocket="${SSH_AGENT_SOCKETS_DIR}/socket-${ssh_identity}-$(hostname)" agentsocket="${SSH_AGENT_SOCKETS_DIR}/socket-${ssh_identity}-$(hostname)"
echo "agentfile: $agentfile" >&2 logdebug "agentfile: $agentfile" >&2
echo "agentsocket: $agentsocket" >&2 logdebug "agentsocket: $agentsocket" >&2
echo ssh-identität: $ssh_identity >&2 logdebug ssh-identität: $ssh_identity >&2
if [ -e $agentfile ]; then if [ -e $agentfile ]; then
# look if agent is reachable # look if agent is reachable
@ -32,29 +32,29 @@ agent-start-or-restart () {
/bin/sh -c "unset SSH_AUTH_SOCK SSH_AGENT_PID; . $agentfile >/dev/null 2>&1; ssh-add -l >&2" /bin/sh -c "unset SSH_AUTH_SOCK SSH_AGENT_PID; . $agentfile >/dev/null 2>&1; ssh-add -l >&2"
case $? in case $? in
0|1) 0|1)
echo "agent is running" >&2 logdebug "agent is running" >&2
;; ;;
2) 2)
echo "agent is not running 1" >&2 logdebug "agent is not running 1" >&2
[ -e $agentsocket ] && rm "$agentsocket" [ -e $agentsocket ] && rm "$agentsocket"
ssh-agent -a $agentsocket $SSH_AGENT_OPTIONS > $agentfile 2>&2 ssh-agent -a $agentsocket $SSH_AGENT_OPTIONS > $agentfile 2>&2
echo "agent started" >&2 logdebug "agent started" >&2
;; ;;
esac esac
else else
echo "agent is not running 2" >&2 logdebug "agent is not running 2" >&2
#rm "$agentsocket" #rm "$agentsocket"
echo ssh-agent -a $agentsocket \> $agentfile logdebug ssh-agent -a $agentsocket \> $agentfile
ssh-agent -a $agentsocket $SSH_AGENT_OPTIONS > $agentfile 2>&2 ssh-agent -a $agentsocket $SSH_AGENT_OPTIONS > $agentfile 2>&2
echo "agent started" >&2 logdebug "agent started" >&2
fi fi
echo -n "agent for $ssh_identity: " >&2 loginfo -n "agent for $ssh_identity: " >&2
echo $agentfile echo $agentfile
return 0 return 0
else else
echo no identity given - exit >&2 logwarn no identity given - exit >&2
return 1 return 1
fi fi
@ -77,29 +77,29 @@ agent-load-identity-keys () {
[ -e "${identitydir}/.config" ] && . "${identitydir}/.config" [ -e "${identitydir}/.config" ] && . "${identitydir}/.config"
agentfile="${SSH_AGENTS_DIR}/agent-${ssh_identity}-$(hostname)" agentfile="${SSH_AGENTS_DIR}/agent-${ssh_identity}-$(hostname)"
agentsocket="${SSH_AGENT_SOCKETS_DIR}/socket-${ssh_identity}-$(hostname)" agentsocket="${SSH_AGENT_SOCKETS_DIR}/socket-${ssh_identity}-$(hostname)"
echo "agentfile: $agentfile" >&2 logdebug "agentfile: $agentfile" >&2
echo "agentsocket: $agentsocket" >&2 logdebug "agentsocket: $agentsocket" >&2
echo ssh-identität: $ssh_identity >&2 logdebug ssh-identität: $ssh_identity >&2
fingerprints=( $(ssh-runinagent $agentfile "ssh-add -l|awk '{print \$2}'") ) fingerprints=( $(ssh-runinagent $agentfile "ssh-add -l|awk '{print \$2}'") )
for key in $(ls ${SSH_IDENTITIES_DIR}/${ssh_identity}|grep -v "pub$\|so$"); do for key in $(ls ${SSH_IDENTITIES_DIR}/${ssh_identity}|grep -v "pub$\|so$"); do
echo key: $key logdebug key: $key
fingerprint=$(ssh-keygen -l -f ~/.ssh/identities/bmi/id_ed25519|awk '{print $2}') fingerprint=$(ssh-keygen -l -f ~/.ssh/identities/bmi/id_ed25519|awk '{print $2}')
echo ${fingerprints[*]} and $fingerprint logdebug ${fingerprints[*]} and $fingerprint
if [[ ${fingerprints[*]} =~ "$fingerprint" ]]; then if [[ ${fingerprints[*]} =~ "$fingerprint" ]]; then
echo "$key is loaded" >&2 logdebug "$key is loaded" >&2
else else
echo "$key is not loaded" >&2 logdebug "$key is not loaded" >&2
ssh-runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} ${identitydir}/${key} ssh-runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} ${identitydir}/${key}
fi fi
done done
for token in $(ls ${SSH_IDENTITIES_DIR}/${ssh_identity}|grep "so$"); do for token in $(ls ${SSH_IDENTITIES_DIR}/${ssh_identity}|grep "so$"); do
echo token: $token logdebug token: $token
tokenfingerprint="$(ssh-keygen -l -D $token|tr -s ' '|awk '{print $2}')" tokenfingerprint="$(ssh-keygen -l -D $token|tr -s ' '|awk '{print $2}')"
if [[ ${fingerprints[*]} =~ "$tokenfingerprint" ]]; then if [[ ${fingerprints[*]} =~ "$tokenfingerprint" ]]; then
echo "$token is loaded" >&2 logdebug "$token is loaded" >&2
else else
echo "$token is not loaded" >&2 logdebug "$token is not loaded" >&2
ssh-runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -s ${identitydir}/${token} ssh-runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -s ${identitydir}/${token}
fi fi
done done
@ -114,12 +114,12 @@ ssh-runinagent () {
shift shift
sshcommand=${@} sshcommand=${@}
echo "run command »$sshcommand« in agent $agentfile" >&2 logdebug "run command »$sshcommand« in agent $agentfile" >&2
if [ -e "$agentfile" ]; then if [ -e "$agentfile" ]; then
/bin/sh -c "unset SSH_AUTH_SOCK SSH_AGENT_PID; . $agentfile >/dev/null 2>/dev/null; $sshcommand" /bin/sh -c "unset SSH_AUTH_SOCK SSH_AGENT_PID; . $agentfile >/dev/null 2>/dev/null; $sshcommand"
return $? return $?
else else
echo "agentfile not existent" >&2 logwarn "agentfile not existent" >&2
return 1 return 1
fi fi
} }

View file

@ -89,7 +89,7 @@ if ! $SSHS; then
if [ -d "${MYSHELLCONFIG_BASE}" -a $($SGIT status 1>/dev/null 2>&1; echo $?) -eq 0 ]; then if [ -d "${MYSHELLCONFIG_BASE}" -a $($SGIT status 1>/dev/null 2>&1; echo $?) -eq 0 ]; then
[ -d "${MYSHELLCONFIG_LOGDIR}" ] || mkdir -p "${MYSHELLCONFIG_LOGDIR}" [ -d "${MYSHELLCONFIG_LOGDIR}" ] || mkdir -p "${MYSHELLCONFIG_LOGDIR}"
if ! $SGIT rev-parse --git-dir > /dev/null 2>&1 ; then if ! $SGIT rev-parse --git-dir > /dev/null 2>&1 ; then
echo "Init ${MYSHELLCONFIG_BASE} as git-repo" >&2 loginfo "Init ${MYSHELLCONFIG_BASE} as git-repo" >&2
$SGIT init $SGIT init
fi fi
@ -102,29 +102,29 @@ if ! $SSHS; then
# sync repo with origin if git is reachable # sync repo with origin if git is reachable
if ckrepo ; then if ckrepo ; then
echo "git checokut" >&2 loginfo "git checokut" >&2
sync_config sync_config
. ${MYSHELLCONFIG_BASE}/functions.sh . ${MYSHELLCONFIG_BASE}/functions.sh
create_symlinks "$MYSHELLCONFIG_BASE" create_symlinks "$MYSHELLCONFIG_BASE"
else else
echo "${MYSHELLCONFIG_GIT_SERVER}" not reachable >&2; loginfo "${MYSHELLCONFIG_GIT_SERVER}" not reachable >&2;
echo profile not syncing >&2; loginfo profile not syncing >&2;
fi fi
else else
echo "Clone ${MYSHELLCONFIG_GIT_REMOTE} and configure git" >&2 loginfo "Clone ${MYSHELLCONFIG_GIT_REMOTE} and configure git" >&2
if $( timeout --foreground "${MYSHELLCONFIG_GIT_CHECKOUT_TIMEOUT}" git -C ${HOME} clone "${MYSHELLCONFIG_GIT_REMOTE}" "${MYSHELLCONFIG_BASE}" ); then if $( timeout --foreground "${MYSHELLCONFIG_GIT_CHECKOUT_TIMEOUT}" git -C ${HOME} clone "${MYSHELLCONFIG_GIT_REMOTE}" "${MYSHELLCONFIG_BASE}" ); then
: :
else else
MYSHELLCONFIG_GIT_REMOTE="${MYSHELLCONFIG_GIT_REMOTE_PUBLIC_HTTP}${MYSHELLCONFIG_GIT_REPO_NAME}" MYSHELLCONFIG_GIT_REMOTE="${MYSHELLCONFIG_GIT_REMOTE_PUBLIC_HTTP}${MYSHELLCONFIG_GIT_REPO_NAME}"
echo "Clone ${MYSHELLCONFIG_GIT_REMOTE} and configure git" >&2 loginfo "Clone ${MYSHELLCONFIG_GIT_REMOTE} and configure git" >&2
timeout --foreground "${MYSHELLCONFIG_GIT_CHECKOUT_TIMEOUT}" git -C ${HOME} clone "${MYSHELLCONFIG_GIT_REMOTE}" "${MYSHELLCONFIG_BASE}" || return 1 2>/dev/null || exit 1 timeout --foreground "${MYSHELLCONFIG_GIT_CHECKOUT_TIMEOUT}" git -C ${HOME} clone "${MYSHELLCONFIG_GIT_REMOTE}" "${MYSHELLCONFIG_BASE}" || return 1 2>/dev/null || exit 1
fi fi
[ -d "${MYSHELLCONFIG_BASE}" ] && { echo create ${MYSHELLCONFIG_LOGDIR} >&2; mkdir -p "${MYSHELLCONFIG_LOGDIR}"; } [ -d "${MYSHELLCONFIG_BASE}" ] && { loginfo create ${MYSHELLCONFIG_LOGDIR} >&2; mkdir -p "${MYSHELLCONFIG_LOGDIR}"; }
$SGIT config user.email "${USERNAME}" $SGIT config user.email "${USERNAME}"
$SGIT config user.name "${FULLNAME}" $SGIT config user.name "${FULLNAME}"
@ -133,10 +133,10 @@ if ! $SSHS; then
#$SGIT submodule update --init --recursive #$SGIT submodule update --init --recursive
#$SGIT submodule foreach 'git checkout master' #$SGIT submodule foreach 'git checkout master'
echo "sync config" >&2 loginfo "sync config" >&2
sync_config sync_config
. ${MYSHELLCONFIG_BASE}/functions.sh . ${MYSHELLCONFIG_BASE}/functions.sh
echo "config synced, functions.sh sourced" >&2 loginfo "config synced, functions.sh sourced" >&2
create_symlinks "$MYSHELLCONFIG_BASE" create_symlinks "$MYSHELLCONFIG_BASE"
# Install vim Plugins # Install vim Plugins
@ -146,13 +146,13 @@ if ! $SSHS; then
[ -z ${MYSHELLCONFIG_GIT_REMOTE_PUSH+x} ] || $SGIT remote set-url --push ${MYSHELLCONFIG_GIT_REMOTE_NAME} "${MYSHELLCONFIG_GIT_REMOTE_PUSH}" [ -z ${MYSHELLCONFIG_GIT_REMOTE_PUSH+x} ] || $SGIT remote set-url --push ${MYSHELLCONFIG_GIT_REMOTE_NAME} "${MYSHELLCONFIG_GIT_REMOTE_PUSH}"
;; ;;
*screen*) *screen*)
echo "I'm in sceen/tmux now" >&2 loginfo "I'm in sceen/tmux now" >&2
;; ;;
*dumb*) *dumb*)
echo "Run with dumb terminal" 1>&2 loginfo "Run with dumb terminal" 1>&2
;; ;;
*) *)
echo "Run with $TERM" >&2 loginfo "Run with $TERM" >&2
;; ;;
esac esac
fi fi

View file

@ -14,10 +14,9 @@ if [ -n "$SSH_AUTH_SOCK" ] && \
chmod 600 ~/.x2go/agentsocket chmod 600 ~/.x2go/agentsocket
chown $USER ~/.x2go/agentsocket chown $USER ~/.x2go/agentsocket
# write file name of agent socket into file # write file name of agent socket into file
echo old agentsock logdebug old agentsock $( cat ~/.x2go/agentsocket)
cat ~/.x2go/agentsocket
echo $SSH_AUTH_SOCK > ~/.x2go/agentsocket echo $SSH_AUTH_SOCK > ~/.x2go/agentsocket
echo "write SSH_AUTH_SOCK (${SSH_AUTH_SOCK}) to ~/.x2go/agentsocket" logdebug "write SSH_AUTH_SOCK (${SSH_AUTH_SOCK}) to ~/.x2go/agentsocket"
fi fi
# Part that runs in X2Go session # Part that runs in X2Go session
@ -39,11 +38,11 @@ if which x2golistsessions >/dev/null && \
# (might still contain stale agent socket or garbage # (might still contain stale agent socket or garbage
MIGHTBEOURAGENT=$(cat ~/.x2go/agentsocket) MIGHTBEOURAGENT=$(cat ~/.x2go/agentsocket)
# check if it corresponds to an existing socket # check if it corresponds to an existing socket
echo "MIGHTBEOURAGENT: $MIGHTBEOURAGENT" logdebug "MIGHTBEOURAGENT: $MIGHTBEOURAGENT"
if [ -S "$MIGHTBEOURAGENT" ]; then if [ -S "$MIGHTBEOURAGENT" ]; then
# export path to agent socket # export path to agent socket
export SSH_AUTH_SOCK=$MIGHTBEOURAGENT export SSH_AUTH_SOCK=$MIGHTBEOURAGENT
echo export it logdebug export it
fi fi
fi fi