diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/SshUtil.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/SshUtil.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/SshUtil.java index 1a9f0460..8222ea34 100644 --- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/SshUtil.java +++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/SshUtil.java @@ -122,11 +122,22 @@ public class SshUtil { if(localTempFile.exists()) { localTempFile.delete(); } + try { // get authorized_keys from server scpClient.get(SSH_AUTHORIZED_KEYS_PATH_REMOTE, TEMP_DIR); } catch (IOException e) { // file doesn't exist. it will get created. + // create the .ssh directory in case it doesn't exist + logger.info("Couldn't fetch file [" + SSH_AUTHORIZED_KEYS_PATH_REMOTE +"].", e); + logger.info("Creating /root/.ssh on [" + serverName + "] in case it doesn't exist."); + String command = "mkdir -p " + SSH_AUTHORIZED_KEYS_DIR_REMOTE; + ProcessResult result = executeCommand(conn, command); + if(!result.isSuccess()) { + String errMsg = "Command [" + command + "] failed on server [" + serverName + "] with error: " + result; + logger.error(errMsg); + throw new GlusterRuntimeException(errMsg); + } } byte[] publicKeyData; |