Si.
La contraseña se envía después de establecer la conexión cifrada, pero el servidor remoto obtiene la contraseña en texto sin formato.
Si le importa eso, la mejor y más fácil solución es usar claves SSH.
Si tiene máquinas que no pueden aceptar claves, entonces una solución sería crear una herramienta que almacene sus contraseñas de forma segura, y luego las use sshpass
para enviar siempre la contraseña correcta según el servidor al que se esté conectando.
Ahora, la razón por la que la contraseña se envía en texto sin formato, es que deja todas las decisiones de manejo y almacenamiento al extremo remoto, y el cliente puede ser totalmente tonto. Hay un par de formatos diferentes de hash de contraseña (almacenamiento) utilizados en sistemas Linux y BSD durante los últimos diez años más o menos ( crypt (3) ), ninguno de los cuales requiere soporte del cliente.
Aunque eso también se debe en parte a la historia (es decir, siempre ha sido así). Hay mejores protocolos de autenticación de desafío-respuesta que podrían usarse incluso con contraseñas. Por ejemplo , SRP , que proporciona a las partes un secreto compartido durante la autenticación. Se ha implementado para algunos servidores SSH, pero el parche para OpenSSH es para una versión (muy) antigua.