From 4d925dbc4a5675a65d74f7a69024c10d170e473f Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Sun, 3 Jan 2021 01:42:39 +0100 Subject: [PATCH] Step sendkey: add ssh option to force Ipv4 --- seqs/ssh.sh | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/seqs/ssh.sh b/seqs/ssh.sh index db2a8ce..ea9067b 100755 --- a/seqs/ssh.sh +++ b/seqs/ssh.sh @@ -27,30 +27,66 @@ step_3() { } step_5_info() { + shift + local arg + local sshOption="[OPTIONS] " local userHost="" local userPort=" [PORT]" - if [ ! -z $2 ] ; then userHost="$2"; userPort=":22"; fi - if [ ! -z $3 ] ; then userPort=":$3"; fi - echo "Send key to remote host ${userHost}$userPort" + + for arg in "$@" ; do + case "$1" in + -4) + sshOption="-o Addressfamiliy=inet" + shift + ;; + *) + break + ;; + esac + done + + if [ ! -z $1 ] ; then userHost="$1"; userPort=":22"; fi + if [ ! -z $2 ] ; then userPort=":$2"; fi + echo "Send key to remote host ${sshOption}${userHost}$userPort" + echoinfo "[OPTIONS]" + echoinfo " -4 : Force Ipv4" } step_5_alias() { ALIAS="sendkey"; } step_5() { + shift + local arg + local sshOption + local sshHost local sshPort=22 - if [ -z "$2" ] || [ "$2" == "" ] ; then + for arg in "$@" ; do + case "$1" in + -4) + sshOption="-o Addressfamiliy=inet" + shift + ;; + *) + break + ;; + esac + done + + if [ -z "$1" ] || [ "$1" == "" ] ; then echoerr " [E] Host not provided." return 1 + else + sshHost="$1" fi exep "ssh-keygen -l -f $toolIdentity 2>>/dev/null" saveReturn $? endReturn -f "Key $(realpath $toolIdentity) not found.\n Create one first." - if [ ! -z "$3" ] && [ "$3" != "" ] ; then - sshPort=$3 + if [ ! -z "$2" ] && [ "$2" != "" ] ; then + sshPort=$2 fi - exe ssh-copy-id -p $sshPort $2 + exe ssh-copy-id -p ${sshPort} ${sshOption} ${sshHost} } step_10_info() { echo "Send command(ssh)/file(scp) list to remote(s) [USER:HOST]"; }