server1のスクリプトが実際にリモートサーバーにログインしている(とすぐにログアウトしない)ことは間違いありませんか?私が考えることができる唯一の説明は、 "ls"コマンドが実際にリモートサーバー上で実行されていないということです。スクリプトと正確なコマンドを共有すると、それを把握するのに役立ちます。 (全体の交流から「スクリプト」の出力も役に立つかもしれません。)以下のような
何かはまた、あなたのために働くかもしれない:
ssh server1.example.com ssh remote-server.example.com ls
リモートコマンドに応じて、あなたはまた、のような何かをするかもしれません。
ssh server1.example.com "ssh remote-server.example.com ls"
(存在する場合、後者は、例えば、そうでない場合は、お近くのシェルによって解釈することができることを、関係リダイレクトし、必要になることがあります。)
として、上記の例の最初のsshを扱うphpseclibを使用します。だから、おそらくのようなものを使用することがあります:
$ssh->exec("ssh remote-server.example.com ls")
それとも、多分第二段階のために公開鍵認証を使用している場合:
$ssh->exec("ssh -i ~/.ssh/keyfile remote-server.example.com ls")
でのsshでリモートでコマンドを実行する方法の簡単な要約がありますhttps://www.ssh.com/ssh/command/
あなたはそれを正しく推測しました。私はリモートサーバにログインしたことはありません - 鍵のパスフレーズの問題です。 :(ありがとう –