# SSH Verbindung mit j2ssh



## StevieS (17. Apr 2010)

Hallo zusammen,

ich habe mich die letzten Stunden damit versucht mit j2ssh eine Verbindung aufzubauen, aber irgendwie bekomme ich das ganze nicht zum laufen. Wenn ich mich mit putty den gleichen Daten einlogge klappt das ganze, aber über meinen Code nicht. Vielleicht kann ja mal jemand drüber schauen. Die libs sind auch richtig eingebunden.

P.S.: Als Fehlermeldung erhalte ich meine eigene Fehlermeldung "The authentication failed", also dass keine Verbindung hergestellt werden konnte.


```
import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolException;
import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.authentication.SshAuthenticationClient;


public class sshtest  {
	

public static void main(String args[]) {
 try {


	 SshClient ssh = new SshClient();
	 ssh.connect("127.0.0.1");
	 
	 /**
	 * Create a PasswordAuthenticationClient instance, set the properties
	 * and pass to the SessionClient to authenticate
	 */
	 PasswordAuthenticationClient auth = new PasswordAuthenticationClient();


	 auth.setUsername("testuser");


	 auth.setPassword("testpasswort");
	 ssh.authenticate(auth);
	
	 int result = ssh.authenticate(auth);
	 
	 

	 
	 if(result==AuthenticationProtocolState.FAILED)
		  System.out.println("The authentication failed");

		if(result==AuthenticationProtocolState.PARTIAL)
		  System.out.println("The authentication succeeded but another"
		                  + "authentication is required");

		if(result==AuthenticationProtocolState.COMPLETE)
		  System.out.println("The authentication is complete");
		
		
		//SessionChannelClient session = ssh.openSessionChannel();
	 


 } catch(Exception e) {
	   e.printStackTrace();
	 }
	}


	}
```


----------



## Ahaggar (11. Nov 2010)

In der Hoffnung, dass du Emailbenachrichtigungen aktiviert hast:

hast du das Problem damals gelöst?

Ich kann mich auch nicht authentifizieren, aus was für einem Grund auch immer. PW und username stimmen 100%. 
Über ne Shell einloggen geht auch, nur eben nicht aus Java raus mit den sshtools...

falls du das ließt, schreib mir doch einfach, ob und wie du das gelöst hast.


----------



## xjCoder (11. Nov 2010)

Hi,

ich arbeite zwar nicht mehr mit j2ssh (zu viele Abhängigkeiten, zu "große" Library) 
sondern mit Ganymed SSH-2 for Java, aber das Problem kommt mir bekannt vor 

Als erstes solltest Du mal prüfen, ob die Authentifizierungsmethode "password" überhaupt verfügbar ist, denn
oftmals kommst Du nur über die Methoden "publickey" oder "keyboard-interactive" auf die entfernte Kiste...

Prüfen kannst Du das Ganze bei j2ssh über 


```
SshClient ssh = new SshClient();
      ssh.connect("HOSTNAME");

      List list = ssh.getAvailableAuthMethods("LOGIN");

      for(int i=0;i<list.size();i++)
      {
        System.out.println(list.get(i).toString());
      }
```


----------



## Ahaggar (11. Nov 2010)

Danke dir,

kurz bevor ich deinen Beitrag gelesen hab bin ich auch auf die Idee gekommen. Und wie sollte es anderster sein, wars das auch.
Auf den beiden Maschinen auf denen ich das getestet hatte war die option password jeweils deaktiviert. An anderen gings dann 

Auf das Ganymed werfe ich auch mal n auge.
Danke nochmal für die Mühe!


----------

