Когда нет лучшего выбора (как предлагают другие), тогда человек соцат может помочь:
(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) |
socat - EXEC:'ssh -l user server',pty,setsid,ctty
EXEC’utes an ssh session to server. Uses a pty for communication
between socat and ssh, makes it ssh’s controlling tty (ctty),
and makes this pty the owner of a new process group (setsid), so
ssh accepts the password from socat.
Необходима вся сложность pty, setsid, ctty, и, хотя вам может не понадобиться спать так долго, вам нужно будет спать. Также стоит посмотреть параметр echo = 0, как и передача удаленной команды из командной строки ssh.