#!/bin/bash set -e if [ $# -lt 1 ]; then echo "Usage: $0 [ssh-options]" exit 1 fi if [[ "$*" == *" -- "* ]]; then exec /bin/ssh "$@" fi [ -z "$WSCOMPAT_MASTER" ] && WSCOMPAT_MASTER="$(whoami)" read -r -d '' init_cmd << WSCOMPAT_EOF_9oqn7IVF || true export WS_IS_COMPAT=1 export WSCOMPAT_MASTER="$WSCOMPAT_MASTER" export WSCOMPAT_DIR="/tmp/wscompat_${WSCOMPAT_MASTER}_\$(whoami)" rm -rf "\$WSCOMPAT_DIR" && mkdir -p "\$WSCOMPAT_DIR" && chmod 700 "\$WSCOMPAT_DIR" cat << 'WSCOMPAT_EOF_84EbM3la' > "\$WSCOMPAT_DIR/profile" $( sed 's/WSCOMPAT_EOF_/WSCOMPAT_EOF__/g' "$WSCOMPAT_DIR/profile" for file in "$WSCOMPAT_DIR.profile"*.sh; do if [ -f "$file" ]; then sed 's/WSCOMPAT_EOF_/WSCOMPAT_EOF__/g' "$file" fi done ) WSCOMPAT_EOF_84EbM3la . \$WSCOMPAT_DIR/profile # pam, systemd - wrap in login shell exec /bin/bash --login --norc --noprofile -c "exec /bin/bash --rcfile \"\$WSCOMPAT_DIR/bashrc\"" WSCOMPAT_EOF_9oqn7IVF exec /bin/ssh -t "$@" "$init_cmd"