Ссылаясь на заданный вопрос: Вход с помощью пары ключей в экземпляр EC2 с JSch
Я пытаюсь подключиться с JCraft JSch к двум различным компьютерам EC2:
1-й EC2машина без ENCRYPTION для файла .pem, и она отлично работает!
$ cat ~/Documents/CA01.pem
-----BEGIN RSA PRIVATE KEY-----
…….
Однако на 2-й машине файл .pem зашифрован и у меня есть пароль:
$ cat ~/Documents/OPEN_VPN.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info:……........
Так выглядит кодкак:
JSch jsch = new JSch();
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
config.put("PreferredAuthentications", "publickey,keyboard-interactive,password");
jsch.addIdentity("/path/to/pem/OPEN_VPN.pem");
session = jsch.getSession("root", getHost(), 22)
session.setConfig(config);
session.setPassword(getPsw());
session.connect(); // here I got Exception....
Channel channel = session.openChannel("sftp");
channel.connect();
Я получил:
Exception in thread "main" com.jcraft.jsch.JSchException: USERAUTH fail
at com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:119)
at com.jcraft.jsch.Session.connect(Session.java:470) ....
Пожалуйста, помогите.Может быть, другие полезные библиотеки?