#!/bin/sh
 set -e
 cd $(dirname "$0")
+. lib/abort_if_command_unknown
 . lib/constants_ssh  # PATH_USER_SSH
 . lib/expect_n_args
 . lib/path_tmp_timestamped
 PATH_KNOWN_HOSTS="${PATH_USER_SSH}/known_hosts"
 URL_REPO_CLONE='https://plomlompom.com/repos/clone/config'
 
-expect_n_args 1 1 '(server)' $@
+expect_n_args 1 2 'SERVER [ROOT_LOGIN_PW]' $@
 SERVER="$1"
+ROOT_LOGIN_PW="$2"
+if [ ! -z "${ROOT_LOGIN_PW}" ]; then
+    echo '· Provided ROOT_LOGIN_PW, so will later try to log-in with that and place local key file …'
+    abort_if_command_unknown sshpass
+fi
 
 echo "· In ${PATH_KNOWN_HOSTS}, removing previous entry for ${SERVER} if found …"
 ssh-keygen -f "${PATH_KNOWN_HOSTS}" -R "${SERVER}" > /dev/null
 ${CMD_RM_LOG}
 trapp
 
-CMD_SSH="ssh root@${SERVER}"
+SSH_TARGET="root@${SERVER}"
+if [ ! -z "${ROOT_LOGIN_PW}" ]; then
+    echo '· Logging in with provided password to place local key file …'
+    SSHPASS="${ROOT_LOGIN_PW}" sshpass -e scp "${PATH_USER_SSH}/id_rsa.pub" "root@${SERVER}:~/${PATH_REL_SSH}/authorized_keys"
+fi
+
+CMD_SSH="ssh ${SSH_TARGET}"
 CMD_STTY_ECHO='stty echo'
 
 echo '· On server, asking for new root password …'
 
 cd $(dirname "$0")
 . lib/abort_if_command_unknown
 . lib/abort_if_offline
+. lib/constants_ssh  # PATH_USER_SSH
 . lib/expect_n_args
 . lib/path_tmp_timestamped
 . lib/trapp
 
 PATH_LOGS_LOCAL="${HOME}/chatlogs/catgirl"
-PATH_DECRYPTION_KEY_ENCRYPTED="${HOME}/.ssh/id_rsa"
+PATH_DECRYPTION_KEY_ENCRYPTED="${PATH_USER_SSH}/id_rsa"
 DIRNAME_ENCRYPTED_REMOTE='logs_encrypted'
 
 abort_if_offline