Java J2SSH - Anmeldung per AUTHORIZED_KEY

Ich hab ein dickes Problem und hoffe

  1. IRGENDJEMAND hat davon Ahnung
  2. Ich bin im richtigen Thread.

Also: Kurze Problembeschreibung:
Ich will mich auf einer Unixmaschine mit SSH und einem Key anmelden. (id_rsa)

Dazu habe ich bisher folgenden Code:

 [...]

 ssh = new SshClient();
 ssh.setSocketTimeout(1000);
 SshConnectionProperties properties = new SshConnectionProperties();
 properties.setHost(s.IP);
 properties.setUsername(s.LoginName);

 // Connect to the host
 try {
 // Mit Passwort:
 // ssh.connect(properties);
 // PasswordAuthenticationClient pk = new PasswordAuthenticationClient();
 // pk.setUsername(s.LoginName);
 // pk.setPassword(s.Passwort);

 // Per SSH
 HostKeyVerification ver = new SinkHostKeyVerification(s.IP);
 ssh.connect(properties,ver);

 PublicKeyAuthenticationClient pk = new PublicKeyAuthenticationClient();
 pk.setUsername(s.LoginName);
 // Private Key File
 SshPrivateKeyFile file = SshPrivateKeyFile.parse(new File("key\_ppk.ppk"));
 SshPrivateKey key = file.toPrivateKey("");
 pk.setKey(key);

 if (ssh.authenticate(pk) == AuthenticationProtocolState.COMPLETE) {
 System.out.println("drin");
 }

Mit der Auskommentierten Passwortabfrage geht es, aber nicht mit dem SSH-Key…
Die API dazu ist leider der größte Rotz und auch Google lässt sich nix brauchbares entlocken…

Also schon mal THX für jede Antwort!

Hallo,

Also: Kurze Problembeschreibung:
Ich will mich auf einer Unixmaschine mit SSH und einem Key
anmelden. (id_rsa)

Dazu habe ich bisher folgenden Code:

//…

Mit der Auskommentierten Passwortabfrage geht es, aber nicht
mit dem SSH-Key…
Die API dazu ist leider der größte Rotz und auch Google lässt
sich nix brauchbares entlocken…

Wenn wir erfahren dürfen welche API du verwendest und wie die Fehlermeldung im Falle von „geht nicht“ lautet wird es etwas einfacher.

Gruß
Heavy

Mit der Auskommentierten Passwortabfrage geht es, aber nicht
mit dem SSH-Key…
Die API dazu ist leider der größte Rotz und auch Google lässt
sich nix brauchbares entlocken…

Wenn wir erfahren dürfen welche API du verwendest und wie die
Fehlermeldung im Falle von „geht nicht“
lautet wird es etwas einfacher.

Falls du diese hier verwendest http://sourceforge.net/projects/sshtools,

Das PublicKeyConnect Beispiel im examples Ordner der Source-Distribution funktioniert bei mir einwandfrei. Funktioniert die Verwindung mit dem Key bei einer „normalen“ ssh Verbindung?

Gruß
Heavy

Ich habe das Problem gelöst. Ich hatte einen falsch kodierten Schlüssel. Das Programm verlangte den SSH1 Key. Ich habe aber den SSH2 Key genommen, deswegen hat er mit eine Format Exeption des Keys ausgeworfen.

Vielen Dank aber dennoch für deine Mühe

D. Mertins

PS: Wer einen Lösungsansatz sucht für SSH kann sich gerne bei mir melden ich habe jetzt funktionierende Klassen parat oder schaut doch bitte unter folgendem Link nach, da habe ich einen Teil meines Quellcodes veröffentlicht:

http://blog.irrenhausag.com/blog2.php/2008/06/05/jav…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]