Correct invalid signature
diff --git a/src/session_server.h b/src/session_server.h
index cebf973..3be8609 100644
--- a/src/session_server.h
+++ b/src/session_server.h
@@ -521,7 +521,7 @@
  * @param[in] user_data Optional arbitrary user data that will be passed to \p passwd_auth_clb.
  * @param[in] free_user_data Optional callback that will be called during cleanup to free any \p user_data.
  */
-void ncserver_ssh_set_interactive_auth_clb(int (*interactive_auth_clb)(const struct ssh_message msg, const char *password,
+void ncserver_ssh_set_interactive_auth_clb(int (*interactive_auth_clb)(const struct nc_session *session, const struct ssh_message msg,
                                                               void *user_data),
                                            void *user_data, void (*free_user_data)(void *user_data));
 
diff --git a/src/session_server_ssh.c b/src/session_server_ssh.c
index 5c27780..8564ecc 100644
--- a/src/session_server_ssh.c
+++ b/src/session_server_ssh.c
@@ -843,7 +843,7 @@
     char *pass_hash;
 
     if (server_opts.interactive_auth_clb) {
-        auth_ret = server_opts.interactive_auth_clb(session, msg, server_opts.interactive_auth_clb);  
+        auth_ret = server_opts.interactive_auth_clb(session, msg, server_opts.interactive_auth_data);  
     } else {
         if (!ssh_message_auth_kbdint_is_response(msg)) {
             const char *prompts[] = {"Password: "};