[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

need help about how to use ssh_userauth_autopubkey


   

do {
        message=ssh_message_get(session);
        if(!message)
            break;
        switch(ssh_message_type(message)){
            case SSH_REQUEST_AUTH:
                switch(ssh_message_subtype(message)){
                    case SSH_AUTH_METHOD_PASSWORD:
                       printf("ssh log: User %s wants to connect with pass %s\n",
                               ssh_message_auth_user(message),
                               ssh_message_auth_password(message));
                       if(auth_password(ssh_message_auth_user(message),
                           ssh_message_auth_password(message))){
                               auth=1;
                               ssh_message_auth_reply_success(message,0);
                               break;
                        }else{
                            printf("ssh password auth no correct,no such user,try pubkey\n");
                            // not authenticated, send default message try pubkey
                            ssh_message_auth_set_methods(message,SSH_AUTH_METHOD_PUBLICKEY);
                            ssh_message_reply_default(message);
                        }
                    case SSH_AUTH_METHOD_PUBLICKEY:
                        printf("ssh log: user wants to connect with pubkey\n");
                        if(ssh_userauth_autopubkey(session,NULL) == SSH_AUTH_SUCCESS)
                        {
                               printf("ssh pubkey auth success: %s\n",ssh_get_error(session));
                               auth=1;
                               ssh_message_auth_reply_success(message,0);
                               break;
                              
                        }else{
                               printf("ssh pubkey auth error: %s\n",ssh_get_error(session));
               
                        }
                           
                    case SSH_AUTH_METHOD_NONE:
                    default:
                        printf("message auth type %d\n",ssh_message_subtype(message));
                        ssh_message_auth_set_methods(message,SSH_AUTH_METHOD_PASSWORD);
                        ssh_message_reply_default(message);
                        break;
                }
                break;
            default:
                ssh_message_reply_default(message);
        }
        ssh_message_free(message);
    } while (!auth);

2012-02-08 



Linny.liang 梁玉林 

Follow-Ups:
Re: need help about how to use ssh_userauth_autopubkeyAndreas Schneider <asn@xxxxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org