unixのshシェルを使ってexpectを使用せずにリモート操作(ssh)を行う方法を教えてください。


たとえば、
#!/bin/sh
ssh -l user remotehost command
というシェルにおいてパスワード入力を自動入力してcommandの結果を取得することを目的としています。

remotehost側でcommandは正しく動作することを前提に、ssh-keygenなどremotehost側での操作は不可とします。
expectも使用せずにクライアント側のシェル実装だけで実現する方法を検討しています。
ご教授のほど、よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/26 14:45:02

回答0件)

回答はまだありません

  • id:okamotoy
     「どうして『expect』ではだめなのか.」を書くといいかも.
     「『expect』を使わないのが目的.」だったら仕方ありませんけど,「『expect』ではxxxができないから.」だったら回答の幅が広がりますよ.
  • id:cochoo
    申し訳ありませんでした。
    remote側はお客様環境でexpectがインストールされていない環境です。
    アクセスは問題ありませんが、手を加えることができない状況です。
    よろしくお願いします。
  • id:okamotoy
     「expect」使ったことないですが,ローカル側で「telnet」や「ftp」などの対話処理を自動化できる(マクロ的?)ようですので,リモート側には必要ないのではないですか?

     許されるなら『リモート側にログインして「ls」の結果を取得する』みたいな単純なテストをやってみれば使えるか否か解りますよ.

    http://www.linuxcertif.com/man/1/expect/ja/

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません