简体   繁体   English

使用phpseclib通过SSH通过MySQL连接的PHP代码

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

I want connect to MySQL on server, but the server only can be access with SSH. 我想连接到服务器上的MySQL,但是只能使用SSH访问服务器。 I use phpseclib to connect with SSH. 我使用phpseclib连接SSH。 And it was successfull. 它成功了。 But when try connect to MySQL it said : Access Denied. 但是当尝试连接到MySQL时,它说:访问被拒绝。 So, I have these code. 所以,我有这些代码。 Anyone please help me.. 有人请帮助我。

<?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');

Try it without a space. 尝试不带空格。 eg. 例如。

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

Quoting from "man mysql": 引用“ man mysql”:

--password[=password], -p[password] --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 is use for ENTER And the result : \\ r \\ n用于回车,结果:

Login to Server SuccessLogin to MySQL Success

Thankyou verymuch for everyone, who already help me.. 非常感谢已经帮助我的每个人。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM