there is no need to send the password to the server to authenticate a password in this day and age. i thought ssh was one of the first protocols to not do this.
The problem is, ssh daemon doesn't know anything about user password. It uses existing libraries to supply login and password in clear form (like Linux PAM) and they check if it's valid. How this check is done, is abstracted too: it could be /etc/shadow file lookup, it could be LDAP request or really anything.
On the other side, it could be possible to create sshd implementation which will use its own user database. But it's probably not convenient.
->ssh daemon doesn't know anything about user password
And neither should it.
auth system creates a one time usable "ticket" which is a one way function of the user password and a nonce.
The server gives the nonce to the user, who creates his own ticket based on the nonce and his password, gives his ticket to the server, which then checks if the two tickets match, if they do -> authenticated. -> at no point is the actual user password transmitted.
Kerberos extends this further (allows authentication across multiple servers with a single login)
But as far as I know the ticketing system is standard ssh protocol.
there is no need to send the password to the server to authenticate a password in this day and age. i thought ssh was one of the first protocols to not do this.