0

キー付きのsftpを使用してサーバーにログインするスクリプトを使用しています。スクリプトを使用してサーバーにアクセスしているときに、以下のエラーが発生します。エラーは次のとおりです。

: No such file or directory
./new.php: line 2: syntax error near unexpected token \`'SSH_HOST','
'/new.php: line 2: `define( 'SSH_HOST', 'IP_Address' );

私が使用しているスクリプトの下を参照してください。

<?php
define( 'SSH_HOST', 'IP_Address' );
define( 'SSH_PORT', 7475 );

define( 'SSH_PUBLIC_KEY', '/home/test/test_sftp.pub' );
define( 'SSH_PRIVATE_KEY', '/home/test_sftp.ppk' );
define( 'SSH_USERNAME', 'test55' );
define( 'SSH_PASSWORD', 'lkdlkdsf' );

//define( 'SSH_USERNAME', 'test5654' );
//define( 'SSH_PASSWORD', 'dfsfsd45' );


set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include_once('Net/SSH2.php');
include_once('Net/SFTP.php');
include_once('Crypt/RSA.php');
include_once('Crypt/Hash.php');
include_once('Math/BigInteger.php');

$rsa = new Crypt_RSA();
//$pubKey = file_get_contents('id_rsa.pub');
//$rsa->setPublicKey($pubKey);
$priKey = file_get_contents(SSH_PRIVATE_KEY);
$rsa->loadKey($priKey);

$sftp = new Net_SFTP(SSH_HOST, SSH_PORT);

if (!$sftp->login(SSH_USERNAME, $rsa)) {
    echo 'error:';
        print_r($sftp->getLog());
    exit("Login Failed\n");
}
echo $sftp->pwd() . "\r\n";
//$sftp->put('filename.ext', 'Hiiii!');
4

1 に答える 1

2

アップデート:

デバッグのために、クラスを含めた直後に複雑なログ定数を定義しNet_SFTP、ログと sftp エラーを出力します。

include_once('Net/SFTP.php');
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
...
if (!$sftp->login(SSH_USERNAME, $rsa)) {
    print_r($sftp->getSFTPLog());
    print_r($sftp->getSFTPErrors());
    exit("Login Failed\n");
}

その後、詳細なログ出力が得られます。お役に立てれば。それ以外の場合は、詳細なログ出力で質問を更新すると、正しい答えが得やすくなります。

于 2013-11-15T03:47:39.237 に答える