From 46aaeb3f12ff534914e25f0ac7174e6ebbda849e Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Tue, 16 Apr 2019 01:50:41 +0100 Subject: [PATCH] #437 internet.sshpubkey.sh --- .../config.scripts/internet.sshpubkey.sh | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 home.admin/config.scripts/internet.sshpubkey.sh diff --git a/home.admin/config.scripts/internet.sshpubkey.sh b/home.admin/config.scripts/internet.sshpubkey.sh new file mode 100755 index 0000000..8622030 --- /dev/null +++ b/home.admin/config.scripts/internet.sshpubkey.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# command info +if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then + echo "# config script to init/show/transfer ssh pub keys." + echo "# To init and return pubkey as data:" + echo "# internet.sshpubkey.sh get" + echo "# To init and transfer ssh-pub to a authorizedkey of remote server:" + echo "# internet.sshpubkey.sh transfer [REMOTEUSER]@[REMOTESERVER]" + echo "err='just informational output'" + exit 1 +fi + +# 1. parameter MODE +MODE="$1" + +# root as default user +# its used for all ssh tunnel/back action +USER="root" + +# make sure the ssh keys for that user are initialized +sshKeysExist=$(sudo -u ${USER} ls ~/.ssh/id_rsa.pub | grep -c 'id_rsa.pub') +if [ ${sshKeysExist} -eq 0 ]; then + echo "# generation SSH keys for user ${USER}" + sudo -u ${USER} mkdir ~/.ssh + sudo sh -c 'yes y | sudo -u ${USER} ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""' +fi + +if [ "${MODE}" == "get" ]; then + + # get ssh pub key and print + sshPubKey=$(sudo -u ${USER} cat ~/.ssh/id_rsa.pub) + echo "user='${USER}'" + echo "sshPubKey='${sshPubKey}'" + +elif [ "${MODE}" == "transfer" ]; then + + sudo -u ${USER} ssh-copy-id $2 + +else + echo "err='paremeter not known - run with -help'" +fi + +