簡體   English   中英

使用phpseclib通過SSH通過MySQL連接的PHP代碼

[英]PHP Code for Connect to MySQL via SSH using phpseclib

我想連接到服務器上的MySQL,但是只能使用SSH訪問服務器。 我使用phpseclib連接SSH。 它成功了。 但是當嘗試連接到MySQL時,它說:訪問被拒絕。 所以,我有這些代碼。 有人請幫助我。

<?php

//data for connection to SSH
//host : 10.81.229.31
//user : root
//pass : abcde

//here's data for connection to MySQL
//host = 10.81.229.31
//username = root
//password = abcde
//database name = testing


include('Net/SSH2.php');

//connecting to server with SSH
$ssh = new Net_SSH2('10.81.229.31');

if (!$ssh->login('root', 'abcde')) {
    exit('Login Failed');
}else{
    echo "Login Success";
}

//connecting to MySQL
echo $ssh->exec('mysql -h 10.81.229.31 -u root -p testing');

?>

當您在框內使用ssh時,應將數據庫引用為localhost

echo $ssh->exec('mysql -h localhost -u root -ptesting');

嘗試不帶空格。 例如。

echo $ssh->exec('mysql -h localhost -u root -ptesting');

引用“ man mysql”:

--password [=密碼],-p [密碼]

<?php

//data for connection to SSH
//host : 10.81.229.31
//user : root
//pass : abcde

//here's data for connection to MySQL
//host = 10.81.229.31
//username = root
//password = abcde
//database name = testing


include('Net/SSH2.php');

//connecting to server with SSH
$ssh = new Net_SSH2('10.81.229.31');

if (!$ssh->login('root', 'abcde')) {
    exit('Login to Server Failed');
}else{
    echo "Login to Server Success";
}

//connecting to MySQL
if (!$ssh->exec('mysql -u root -ptesting \r\n')){
    exit('Login to MySQL Failed');
}else{
    echo "Login to MySQL Success";
}

?>

\\ r \\ n用於回車,結果:

Login to Server SuccessLogin to MySQL Success

非常感謝已經幫助我的每個人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM