2013-04-04 3 views
5

ersten Mal auf Stackoverflow und auch mit sshj fragen. Neben den Beispielen, die mit sshj zur Verfügung gestellt werden, habe ich keine wirklich guten Ressourcen gefunden, um diese API zu benutzen.net.schmizz.sshj.userauth.UserAuthException: Erschöpfte verfügbare Authentifizierungsmethoden

Ich habe versucht, Remote-Port-Weiterleitung mit sshj zu tun und habe in diesem Fehler aufgetreten.

Exception in thread "main" net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods 

Ich testete die Authentifizierung mit einer VM, aber ohne einen öffentlichen Schlüssel zu verwenden. Ich würde dies verwenden, um eine Verbindung zu einer EC2-Instanz herzustellen, auf der ich die Anmeldung kenne.

public void startRemotePortForwardingConnection(LocalPortForwarder.Parameters parameters) throws IOException{ 
    sshClient.connect(parameters.getLocalHost()); 
    this.connectionStatus = CONNECTED; 
    System.out.print("Connected to localhost" + NEWLINE); 

    try { 
     sshClient.authPassword(this.username, this.password); 
     System.out.print("Authorized with as user " + username + " with password " + password + NEWLINE); 

     // the local port we should be listening on 
     RemotePortForwarder.Forward localPortToListenOn = new RemotePortForwarder.Forward(parameters.getLocalPort()); 
     System.out.print("localPortToListenOn initialized" + NEWLINE); 

     // where we should forward the packets 
     InetSocketAddress socketAddress = new InetSocketAddress(parameters.getRemoteHost(), parameters.getRemotePort()); 
     SocketForwardingConnectListener remotePortToForwardTo = new SocketForwardingConnectListener(socketAddress); 
     System.out.print("remotePortToForwardTo initialized" + NEWLINE); 

     //bind the forwarder to the correct ports 
     sshClient.getRemotePortForwarder().bind(localPortToListenOn, remotePortToForwardTo); 
     System.out.print("ports bound together" + NEWLINE); 

     sshClient.getTransport().setHeartbeatInterval(30); 
     sshClient.getTransport().join(); 
    } 
    finally { 
     sshClient.disconnect(); 
    } 
} 

Wahrscheinlich nicht der beste (oder sogar richtige) Weg, dies zu tun.

+0

Mögliches Duplikat [SSHJ - Keypair Login auf EC2-Instanz] (http: // Stackoverflow .com/Fragen/9283556/sshj-Schlüsselpaar-Login-zu-ec2-Instanz) – Pureferret

Antwort

Verwandte Themen