This commit is contained in:
2026-03-06 22:08:51 +01:00
parent fb9929efb8
commit 405a29bd54
2 changed files with 21 additions and 13 deletions

View File

@@ -422,12 +422,15 @@
} }
const iframe = getActiveIframe(); const iframe = getActiveIframe();
const ok = trySendToIframe(iframe, commandTextarea.value.trim()); const ok = trySendToIframe(iframe, commandTextarea.value.trim());
if (!ok && consoleError) { if (!ok) {
consoleError.textContent = 'Konnte den Befehl nicht an die aktive Konsole senden.'; if (consoleNotice) {
consoleError.style.display = 'block'; consoleNotice.textContent = 'Aktive Konsole nicht steuerbar Befehl wird in neuer Konsole ausgeführt.';
} else if (consoleError) { consoleNotice.style.display = 'block';
consoleError.style.display = 'none';
} }
submitOpen();
return;
}
if (consoleError) consoleError.style.display = 'none';
}); });
} }
} }

View File

@@ -54,23 +54,28 @@ fi
SSH_TARGET="${USER}@${HOST}" SSH_TARGET="${USER}@${HOST}"
if [[ -n "${COMMAND}" ]]; then if [[ -n "${COMMAND}" ]]; then
REMOTE_CMD="${COMMAND}; exec /bin/bash -l -i || exec /bin/sh -l -i" REMOTE_CMD="${COMMAND}; exec /bin/bash -il"
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}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" || \
exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/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}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" || \
exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}"
else else
exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -lc "${REMOTE_CMD}" || \
exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -lc "${REMOTE_CMD}"
fi fi
else else
REMOTE_CMD="exec /bin/bash -l -i || exec /bin/sh -l -i"
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}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -il || \
exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -il
elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then
exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -il || \
exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -il
else else
exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/bash -il || \
exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- /bin/sh -il
fi fi
fi fi