2026-04-06 15:48:37 +05:30
|
|
|
# Copyright IBM Corp. 2020, 2026
|
2022-10-17 10:27:35 -04:00
|
|
|
# SPDX-License-Identifier: BUSL-1.1
|
2023-02-02 17:15:17 -08:00
|
|
|
|
2020-10-12 10:26:26 -07:00
|
|
|
function connect_nc() {
|
|
|
|
|
local id=$1
|
2022-10-17 10:27:35 -04:00
|
|
|
# Note: When this command returns, the session immediately goes into a "canceling" state
|
2026-04-10 08:48:02 -04:00
|
|
|
# Capture output and check for success message since nc may return non-zero on pipe close
|
|
|
|
|
local output
|
|
|
|
|
output=$(echo "SSH-2.0-Test" | boundary connect -exec nc -target-id $id -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1)
|
|
|
|
|
local status=$?
|
|
|
|
|
echo "$output"
|
|
|
|
|
|
|
|
|
|
# If connection succeeded, return 0 regardless of nc's exit status
|
|
|
|
|
if echo "$output" | grep -q "succeeded"; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
return $status
|
2020-10-12 10:26:26 -07:00
|
|
|
}
|
2024-02-13 15:56:13 -05:00
|
|
|
|
|
|
|
|
function connect_alias() {
|
|
|
|
|
local alias=$1
|
|
|
|
|
# Note: When this command returns, the session immediately goes into a "canceling" state
|
2026-04-10 08:48:02 -04:00
|
|
|
# Capture output and check for success message since nc may return non-zero on pipe close
|
|
|
|
|
local output
|
|
|
|
|
output=$(echo "SSH-2.0-Test" | boundary connect $alias -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1)
|
|
|
|
|
local status=$?
|
|
|
|
|
echo "$output"
|
|
|
|
|
|
|
|
|
|
# If connection succeeded, return 0 regardless of nc's exit status
|
|
|
|
|
if echo "$output" | grep -q "succeeded"; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
return $status
|
2024-02-26 08:52:47 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function connect_alias_with_host_id() {
|
|
|
|
|
local alias=$1
|
|
|
|
|
local hostid=$2
|
|
|
|
|
# Note: When this command returns, the session immediately goes into a "canceling" state
|
2026-04-10 08:48:02 -04:00
|
|
|
# Capture output and check for success message since nc may return non-zero on pipe close
|
|
|
|
|
local output
|
|
|
|
|
output=$(echo "SSH-2.0-Test" | boundary connect $alias -host-id $hostid -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1)
|
|
|
|
|
local status=$?
|
|
|
|
|
echo "$output"
|
|
|
|
|
|
|
|
|
|
# If connection succeeded, return 0 regardless of nc's exit status
|
|
|
|
|
if echo "$output" | grep -q "succeeded"; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
return $status
|
2026-03-05 09:48:19 -05:00
|
|
|
}
|