リモートのホストに ssh で夜中とかに自動的にログオンしてコマンド実行
しその結果を取りたくてシェルで書いてみたのですが、
Pseudo-terminal will not be allocated because stdin is not a terminal.
とかメッセージが出てうまくいきません。なんとかできないものでしょうか。
perlで Net::SSH を使うことも考えましたが、リモートホスト側に公開鍵を
置けない事情があり、接続の都度パスワード入力をする形でやりたいのです。

# autossh.sh HOST USER PASSWORD "command"
という使い方前提で以下のように書いたのですが・・・
telnetだとこの -Kオプションつければこのやり方でうまくいくようなのですが。
#!/bin/sh

HOST=$1
USER=$2
PASS=$3
shift; shift; shift

(sleep 3; echo $PASS; sleep 1
while [ $# -gt 0 ]; do
echo $1; shift
sleep 3;
done
echo exit; sleep 1; echo exit) | ssh $USER\@$HOST

exit 0