当我通过 SSH 连接到一个 linux 机器,然后尝试从该会话中以另一个用户身份登录时,我遇到了问题。在 PHP 中它总是挂起。
Example:
//Connect to server using pem files
$key = new Crypt_RSA();
$key->loadKey($options['pem_file']);
$ssh = new Net_SSH2($host);
$ssh->login($user, $key);
//This command works
$ssh -> exec("cd /var/www/site1");
//This hangs indefinitely but will work on the command line
$ssh -> exec("sudo suo www-data");
总而言之,我使用 pem 文件连接到服务器。我可以使用 exec 运行命令,但是当我尝试切换用户“sudo su”时,它将挂在 SSH2 中,但这将在常规控制台上运行。为什么会发生这种情况,我该如何解决?