[ONOS-8111]Fix for passwordless ssh to netconf device without sshkey

Change-Id: I7bedb4c1463024d359b641b24a2089c909e6f03e
diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
index 2a574ab..22bb2b8 100644
--- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
+++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
@@ -52,7 +52,7 @@
 import org.onosproject.netconf.NetconfTransportException;
 import org.slf4j.Logger;
 
-import java.io.CharArrayReader;
+import java.io.FileReader;
 import java.io.IOException;
 import java.security.KeyFactory;
 import java.security.KeyPair;
@@ -122,6 +122,8 @@
     private static final String NETCONF_11_CAPABILITY = "urn:ietf:params:netconf:base:1.1";
     private static final String NETCONF_CLIENT_CAPABILITY = "netconfClientCapability";
     private static final String NOTIFICATION_STREAM = "notificationStream";
+    private static final String SSH_KEY_PATH = "/root/.ssh/id_rsa";
+    private static final String EMPTY_STRING = "";
 
     private static ServiceDirectory directory = new DefaultServiceDirectory();
 
@@ -255,16 +257,16 @@
                 deviceInfo.port())
                 .verify(connectTimeout, TimeUnit.SECONDS);
         session = connectFuture.getSession();
-        //Using the device ssh key if possible
-        if (deviceInfo.getKey() != null) {
-            try (PEMParser pemParser = new PEMParser(new CharArrayReader(deviceInfo.getKey()))) {
+        //Using the onos private ssh key at path SSH_KEY_PATH
+        if (deviceInfo.password().equals(EMPTY_STRING)) {
+            try (PEMParser pemParser = new PEMParser(new FileReader(SSH_KEY_PATH))) {
                 JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider(BouncyCastleProvider.PROVIDER_NAME);
                 try {
                     KeyPair kp = converter.getKeyPair((PEMKeyPair) pemParser.readObject());
                     session.addPublicKeyIdentity(kp);
                 } catch (IOException e) {
-                    throw new NetconfException("Failed to authenticate session with device " +
-                            deviceInfo + "check key to be a valid key", e);
+                    throw new NetconfException("Failed to authenticate session. Please check if ssk key is generated" +
+" on ONOS host machine at path " + SSH_KEY_PATH + " : ", e);
                 }
             }
         } else {