This commit is contained in:
2026-03-06 21:33:59 +01:00
parent 6620158531
commit d4b78ad861

View File

@@ -54,22 +54,23 @@ fi
SSH_TARGET="${USER}@${HOST}" SSH_TARGET="${USER}@${HOST}"
if [[ -n "${COMMAND}" ]]; then if [[ -n "${COMMAND}" ]]; then
REMOTE_CMD="${COMMAND}; exec \$SHELL" REMOTE_CMD="${COMMAND}; exec \$SHELL -l"
REMOTE_CMD="${REMOTE_CMD//\\/\\\\}" REMOTE_CMD="${REMOTE_CMD//\\/\\\\}"
REMOTE_CMD="${REMOTE_CMD//\"/\\\"}" REMOTE_CMD="${REMOTE_CMD//\"/\\\"}"
if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then
exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -t "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}"
elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then
exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -t "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}"
else else
exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -t "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}"
fi fi
else else
REMOTE_CMD="exec \$SHELL -l"
if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then
exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" "${SSH_TARGET}" exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}"
elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then
exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" "${SSH_TARGET}" exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}"
else else
exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" "${SSH_TARGET}" exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}"
fi fi
fi fi