【发布时间】:2014-10-03 12:18:45
【问题描述】:
我使用以下 bash 脚本通过无密码 ssh 连接连接到远程私人机器。然后我在那台机器上运行一组命令。
我正在尝试做完全相同的事情,但在使用 PHP 的网页上运行它。我不确定我是从
我确实在 php 中尝试了一些东西,但失败了,很遗憾我不确定如何在 php 中进行无密码 ssh 连接?
ssh -t -o "StrictHostKeyChecking no" -i ~/.ssh/iduser_rsa iduser@10.xxx.22.133 '
echo "hostname" > /tmp/iamhere.txt
cd /opt/im/olywc/bin/
echo "Checking server status:"
sudo ./status.sh
echo ""
ps -ef |grep -i main |grep -v grep
echo ""
echo "End of restart function"
exit
'
将上面的代码转换为 PHP 代码
include('Net/SSH2.php');
$ssh = new Net_SSH2('10.xxx.22.133');
if (!$ssh->login('', '')) {
exit('Login Failed');
}
function printOutput($str)
{
echo $str;
}
$ssh->exec('
echo "I am here" > /tmp/iamhere.txt
cd /opt/im/olywc/bin/
echo "Checking server status:"
sudo ./status.sh
echo ""
ps -ef |grep -i main |grep -v grep
echo ""
echo "End of restart function"
exit
'
, 'printOutput');
?>
【问题讨论】:
-
确保在问题中提出问题!
-
@Scopey有个问题,在第二段。
-
我建议重新措辞这个问题,这样你的问题就很明显了。它似乎更像是一个以问号结尾的句子,而不是一个实际的问题。不过,我想我明白了您的要求,并在下面提供了答案。
-
我希望 10.105.22.133 用于说明性示例,因为它在您的修订中仍然可见。
-
嗨,鲍勃,没错,它是一个虚拟 id,所以没有问题 :-)