2017-09-12 2 views
0

Heyy!kann keine com.trilead.ssh2.Connection authentifizieren

Ich verwende com.trilead.ssh2.Connection in java 7, um eine Verbindung zu öffnen.

Beim Testen mir eine Verbindung mit localhost auf Port Öffnen 22:

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

Dann versuche ich mit authenticateWithPublicKey Methode zur Authentifizierung:

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

Aber es ist die Authentifizierung nicht. Ich laufe auf einem mac sierra, ich frage mich, ob das etwas zu tun hat. Ich benutze ein dsa Schlüsselpaar.

Danke !!

Antwort

0

Ich konnte keine Arbeit für dsa Paar Schlüssel haben (ich glaube, dass es mit der Schlüsselgröße zu tun hat, und dsa ist 1024). Ich habe ein neues rsa Paar Schlüssel mit 2048 Größe erstellt. So wie Informationen werde ich die Schritte schreiben für das erfolgreiche Management der Verbindung von dem Java-Code von meinem mac sierra konfiguriert zu authentifizieren:

Ich bin in der .ssh/ Verzeichnis:

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 

und das ist es, ich es geschafft um die Verbindung zu authentifizieren.

Verwandte Themen