#!/usr/local/bin/cbsd
#v11.0.0
CBSDMODULE="node"
MYARG="md5name ip port pw"
MYOPTARG=""
MYDESC="Get rsa get from remote node"

. ${subr}
. ${tools}
. ${nodes}

init $*

LOCALKEY="${rsshdir}/${md5name}.id_rsa"
REMOTEKEY=".ssh/${md5name}.id_rsa"

iptype ${ip} >/dev/null 2>&1
_ret=$?

# if natip is not valid IPv4, assume it is NIC variable.
# so try to find out first IPv4 for aliasing
case ${_ret} in
	1)
		CBSD_SSH_CMD="cbsdssh"
		CBSD_SFTP_CMD="cbsdsftp"
		;;
	2)
		CBSD_SSH_CMD="cbsdssh6"
		CBSD_SFTP_CMD="cbsdsftp6"
		;;
	*)
		err 1 "${MAGENTA}nodeaddkey: unknown IP type: ${GREEN}${ip}${NORMAL}"
	;;
esac

${CBSD_SFTP_CMD} ${ip} ${port} ${cbsduser} ${pw} ${REMOTEKEY} ${LOCALKEY}
RESULT=$?

case ${RESULT} in
	0)
		/bin/chmod 0400 ${LOCALKEY}
		/usr/sbin/chown ${cbsduser}:${cbsduser} ${LOCALKEY}
		err 0 "${MAGENTA}Key has been added succesfull:${GREEN} ${LOCALKEY}${NORMAL}"
		;;
	1)
		err 1 "${MAGENTA}Bad user or password.${NORMAL}"
		;;
	2)
		err 2 "${MAGENTA}No such key on remote host:${GREEN} ${REMOTEKEY}${NORMAL}"
		;;
	*)
		err 3 "${MAGENTA}Unknown error.${NORMAL}"
		;;
esac
