dsds
This commit is contained in:
@@ -34,6 +34,8 @@ USER="$(echo "${JSON}" | jq -r '.host.username')"
|
||||
AUTH_TYPE="$(echo "${JSON}" | jq -r '.host.auth_type')"
|
||||
KEY_PATH="$(echo "${JSON}" | jq -r '.host.key_path')"
|
||||
PASSWORD="$(echo "${JSON}" | jq -r '.host.password')"
|
||||
STRICT_HOSTKEY="$(echo "${JSON}" | jq -r '.strict_hostkey // false')"
|
||||
TMUX_SESSION_JSON="$(echo "${JSON}" | jq -r '.tmux_session // ""')"
|
||||
|
||||
COMMAND="$(echo "${JSON}" | jq -r '.command // ""')"
|
||||
if [[ -z "${COMMAND}" && -n "${ENC_COMMAND}" ]]; then
|
||||
@@ -46,14 +48,17 @@ if [[ -z "${HOST}" || -z "${USER}" ]]; then
|
||||
fi
|
||||
|
||||
SSH_OPTS=()
|
||||
if [[ "${PI_CONTROL_STRICT_HOSTKEY:-}" == "1" ]]; then
|
||||
if [[ "${STRICT_HOSTKEY}" == "true" || "${PI_CONTROL_STRICT_HOSTKEY:-}" == "1" ]]; then
|
||||
SSH_OPTS=(-o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/root/.ssh/known_hosts)
|
||||
else
|
||||
SSH_OPTS=(-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null)
|
||||
fi
|
||||
|
||||
SSH_TARGET="${USER}@${HOST}"
|
||||
TMUX_SESSION="${PI_CONTROL_TMUX_SESSION:-nexus}"
|
||||
TMUX_SESSION="${TMUX_SESSION_JSON:-}"
|
||||
if [[ -z "${TMUX_SESSION}" ]]; then
|
||||
TMUX_SESSION="${PI_CONTROL_TMUX_SESSION:-nexus}"
|
||||
fi
|
||||
if [[ -n "${COMMAND}" ]]; then
|
||||
COMMAND_B64="$(printf '%s' "${COMMAND}" | base64)"
|
||||
REMOTE_CMD="CMD_B64='${COMMAND_B64}'; CMD=\"\$(printf '%s' \"\$CMD_B64\" | base64 -d)\"; if command -v tmux >/dev/null 2>&1; then SESSION=\"${TMUX_SESSION}\"; tmux has-session -t \"\$SESSION\" 2>/dev/null || tmux new-session -d -s \"\$SESSION\"; tmux send-keys -t \"\$SESSION\" \"\$CMD\" C-m; exec tmux attach -t \"\$SESSION\"; else eval \"\$CMD\"; exec /bin/bash -il; fi"
|
||||
|
||||
Reference in New Issue
Block a user