2013-04-04 24 views
5

po raz pierwszy pytanie na stackoverflow, a także za pomocą sshj. Oprócz przykładów dostarczonych z sshj, nie znalazłem żadnych dobrych zasobów, które mogłyby pomóc w korzystaniu z tego API.net.schmizz.sshj.userauth.UserAuthException: Wyczerpane dostępne metody uwierzytelniania

Próbowałem wykonać zdalne przekazywanie portów za pomocą sshj i napotkałem ten błąd.

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

Przetestowałem autoryzację za pomocą maszyny wirtualnej, ale bez użycia klucza publicznego. Używałbym tego do łączenia się z instancją EC2, na której znam login.

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(); 
    } 
} 

Prawdopodobnie nie najlepszy (lub nawet właściwy) sposób na zrobienie tego.

+0

Możliwy duplikat [SSHJ - parę kluczy logowania do instancji EC2] (http: // stackoverflow .pl/questions/9283556/sshj-keypair-login-to-ec2-instance) – Pureferret

Odpowiedz