Java - аутентификация с открытым ключом и парольной фразой - j2ssh - PullRequest
1 голос
/ 04 июля 2011

Как мне подключиться к серверу с открытым ключом и парольной фразой (у меня есть открытый ключ и я знаю ключевую фразу. Я использую библиотеку com.sshtools.j2ssh, но не вижу опции для установки ключевой фразы.если у меня есть открытый ключ, сервер продолжает запрашивать пароль.

Спасибо. Рон.

Ответы [ 3 ]

3 голосов
/ 04 июля 2011

Когда вы создаете экземпляр SshPrivateKeyFile, вы можете затем вызвать toPrivateKey для этого объекта, чтобы создать объект SshPrivateKey. Этот метод toPrivateKey принимает строку, которая является вашей парольной фразой. Если у вас нет ключевой фразы, передайте пустую строку (или я считаю, что также работает ноль). Вот образец.

PublicKeyAuthenticationClient sshClient = new PublicKeyAuthenticationClient();

SshPrivateKeyFile sshPrivKeyFile = SshPrivateKeyFile.parse(new File(keyFile));
SshPrivateKey sshPrivKey = sshPrivKeyFile.toPrivateKey("passphrase");
sshClient.setKey(sshPrivKey);
0 голосов
/ 04 июля 2011

Вы уверены, что сервер правильно настроен? Если для этого параметра установлено значение key auth, пароль не требуется, кроме пароля хранилища ключей. Попробуйте подключиться, используя шпаклевку или что-то подобное. Я также рекомендую вам попробовать Ganymed SSH Я использовал его в нескольких проектах, и с этим не было никаких проблем, даже при использовании довольно продвинутых функций, таких как tunnels, SCP и т. Д.

0 голосов
/ 04 июля 2011

Проверьте API j2ssh для методов дешифрования / шифрования.Обычно они используются для отправки для аутентификации.

...