I'm using below code to connect remote server and I followed below steps to connect private/public key generation & concatenate of public key with authorized key.
Code:
private Session createSession() throws JSchException {
JSch jsch = new JSch();
jsch.addIdentity(privateKey); //add private key path as ~/.ssh/id_rsa
Session session;
session = jsch.getSession(user, host, port);
java.util.Properties config = new java.util.Properties();
Properties cfg = new Properties();
cfg.put("trust", "true");
cfg.put("StrictHostKeyChecking", "no");
cfg.put("HashKnownHosts", "yes");
session.setConfig(cfg);
session.connect();
return session;
}
Steps:
1. I can able to generate private/public key in the path ~/.ssh/id_rsa(private key) and ~/.ssh/id_rsa.pub(public key)
>> ssh-keygen (or) ssh-keygen -t rsa -b 4096
Note: Generated key with no passphrase
2. I have added public key with authorized_keys with below command
>> ssh user@host "echo \"`cat ~/.ssh/id_rsa.pub`\" >> .ssh/authorized_keys"
Still I'm facing the exception "com.jcraft.jsch.JSchException: Auth fail". Please guide me to proceed.