…
int auth_publickey(ssh_session session, const char *user,
                                        struct ssh_key_struct *pubkey,
                                        char signature_state,
                                        void *userdata)
{
        struct AUTH_DATA *auth_data = (struct AUTH_DATA*) userdata;
        DBGINFO("%s Authenticating user ->%s<-\n", __func__, user);

        if (signature_state == SSH_PUBLICKEY_STATE_NONE){
                DBGINFO("Partial auth \n");
                return SSH_AUTH_PARTIAL;
        }

        if (signature_state != SSH_PUBLICKEY_STATE_VALID){
                DBGINFO("PUBLIC KEY INVALID\n");
                return SSH_AUTH_DENIED;
        }
…..


I’ve tried calling my ssh server with the linux ssh app and also an libssh app 
using ssh_userauth_publickey_auto() and I get multiple calls to my 
auth_publickey() function but signature_state is always 
SSH_PUBLICKEY_STATE_NONE.  I’ve read that SSH_AUTH_PARTIAL is the appropriate 
response but I never get a call with another state.  Any hints at what I may be 
doing wrong?

Thanks,
-Eric

Reply via email to