Import workaround to configure hosts with non-standard SSH port
This commit is contained in:
parent
6e2130b305
commit
afa6b31844
2 changed files with 39 additions and 0 deletions
23
remote-copy-custom-port.sh
Executable file
23
remote-copy-custom-port.sh
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Workaround to configure hosts with SSH servers listening on non-standard
|
||||||
|
# ports (e.g. IPv4-only VMs hidden behind a NAT). It'll blow up with IPv6
|
||||||
|
# addresses and might burn your house.
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
target_host=$(echo "$@" | rev | cut -d ' ' -f1 | rev)
|
||||||
|
args=$(echo "$@" | rev | cut -d ' ' -f1 --complement | rev)
|
||||||
|
|
||||||
|
name=$(echo $target_host | cut -d ':' -f 1)
|
||||||
|
port_or_path=$(echo $target_host | cut -d ':' -f 2)
|
||||||
|
path=$(echo $target_host | cut -d ':' -f 3)
|
||||||
|
|
||||||
|
addr=$name:$port_or_path
|
||||||
|
scp_extra_params=
|
||||||
|
if [ -n "$path" ]; then
|
||||||
|
addr=$name:$path
|
||||||
|
scp_extra_params="-P $port_or_path"
|
||||||
|
fi
|
||||||
|
|
||||||
|
scp -o User=root -q $scp_extra_params $args $addr
|
16
remote-exec-custom-port.sh
Executable file
16
remote-exec-custom-port.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Workaround to configure hosts with SSH servers listening on non-standard
|
||||||
|
# ports (e.g. IPv4-only VMs hidden behind a NAT). It'll blow up with IPv6
|
||||||
|
# addresses and might burn your house.
|
||||||
|
|
||||||
|
target_host=$1; shift
|
||||||
|
name=$(echo $target_host | cut -d ':' -f 1)
|
||||||
|
port=$(echo $target_host | cut -d ':' -s -f 2)
|
||||||
|
|
||||||
|
ssh_extra_params=
|
||||||
|
if [ -n "$port" ]; then
|
||||||
|
ssh_extra_params="-p $port"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ssh -o User=root $ssh_extra_params $name $@
|
Loading…
Reference in a new issue