2017-09-12 1 views
0

Heyy! J'utilise com.trilead.ssh2.Connection dans java 7 pour ouvrir une connexion.impossible d'authentifier un com.trilead.ssh2.Connection

Lors du test j'ouvre une connexion avec localhost sur le port 22:

Connection connection = new Connection("localhost", 22);

Je suis en train d'authentifier avec authenticateWithPublicKey méthode:

char[] key = IOUtils.toString(new FileInputStream("keyLocation")).toCharArray(); 
boolean authenticated = connection.authenticateWithPublicKey("myUsername", key, ""); 

Mais il n'est pas authentifiez. Je cours sur un mac sierra, je me demande si cela a quelque chose à faire. J'utilise une paire de clés dsa.

Merci!

Répondre

0

Je ne pouvais pas avoir un travail autour de dsa paire de clés (je crois que cela a à voir avec la taille de la clé, et dsa est 1024). J'ai créé une nouvelle paire de clés rsa avec la taille 2048. De même que les informations que je vais écrire les étapes pour gérer avec succès pour authentifier la connexion à partir du code java configuré de mon mac sierra:

Je suis dans le répertoire .ssh/:

ssh-keygen -t rsa -f 'key_name' 
cat key_name.pub    # copy the public key 
# add the public key to authorized_keys file 
ssh-add -K key_name 
ssh-add -A 
ssh-add -l      # just to check if key is added 

et c'est, je réussi pour authentifier la connexion.