私はssh経由でサーバに接続する必要がありますが、アクセスするにはまず別のsshサーバに接続する必要があります。私はそれらに標準的なパスワードでアクセスします。PHP:ssh2:2番目のsshサーバに接続する方法
は、だから私の手順は以下のとおりです。serverdomain1に接続したときに
ssh [email protected]
は、私はターミナルで実行します。PHPの
ssh [email protected]
、私は( 'sshのserverdomain2.com')ssh2_execを使用しようとしました。結果はありません。次にss2_tunnel($ connection、...)も試しました。しかし何も働かなかった。
これは動作しない。
$ssh = ssh2_connect('serverdomain1.com', 22);
if (ssh2_auth_password($ssh, $user,$pass)) {
$stream = ssh_exec($ssh, "ssh serverdomain2.com");
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
echo stream_get_contents($stream_out); // <== doesn't work!!!
}
これも動作しない。
$ssh = ssh2_connect('serverdomain1.com', 22);
if (ssh2_auth_password($ssh, $user,$pass)) {
$tunnel = ssh2_tunnel($ssh, 'serverdomain2.com', 22);
if (!$tunnel) {
echo('no tunnel<br/>');
}
else {
fwrite($tunnel, "echo 1\n");
while (!feof($tunnel)) {
echo fgets($tunnel, 128);
}
}
}
トンネルのエコー結果: 「SSH-2.0-OpenSSH_6.6.1p1のUbuntu-2ubuntu2を.4プロトコルのミスマッチ。
PHPからSSH2でどうすればいいですか?
を他の任意の一つは、この上で私を助けてくださいことができますか? thx – Zenslainer