2012-11-21 62 views
4

我现在已成功运行一个PHP脚本,位于我自己的Linux .us服务器上。我拥有另一个linux.de定位的服务器,没有Apache/PHP服务。我可以使用第二个盒子作为SSH隧道或代理或端口反弹或一些东西,所以我可以隐藏我的IP从第一个盒子,以及如何?我已经在第二个盒子中安装了pbnc,但是我不知道这是否可以实现此目的?我已经知道如何用windows和putty完成这个任务,但是linux终端怎么可能呢?对不起,我的英语不好,并提前感谢!通过在Linux中的SSH隧道运行PHP脚本

+4

在serverfault上问这个问题更好。投票迁移到'serverfault.com' – Starx

+1

是的,你可以SSH隧道,但我怀疑它更适合另一个堆栈交换站点 - 也许[服务器故障](http://serverfault.com/)/ [超级用户] (http://superuser.com/),因为这是比严格编程相关的更多网络/设置。好问题,但。 – nickhar

+1

我认为如果我们必须使用不同的端口,我们也应该改变我的PHP脚本,以便它可以使用这个端口。这就是为什么我使用堆栈溢出:P – Alexandros

回答

1

如果我明白了,您想要通过ssh执行其他服务器上的一个脚本吗?对?如果出现这种情况,您需要登录到服务器号码2,而无需输入密码。这很容易。

第一种方法: 您所要做的就是生成ssh密钥(无密码)。 Here is how you can do this第二种方法(更好): 我猜你没有权限在第二个服务器上执行脚本。如果你有权访问第二台服务器,这很容易解决。这是你如何做到这一点:

  • 输入visudo命令
  • 在文件

阿帕奇ALL =(用户)NOPASSWD的末尾添加这一行:script_path

示例

apache ALL=(clamav) NOPASSWD: /usr/bin/clamscan 

在括号中输入有权执行脚本的用户。 srcipt_path位于上面的例子/ usr/bin/clamscan中。

  • ,卷曲从服务器一个你打开服务器的两个某些文件(LTS调用它的script.php)
  • 编辑的script.php,并添加

$做= EXEC(“some_script some_arguments“)

就是这样。

+0

[xxxxx] $ visudo -bash:visudo:命令未找到 :D – Alexandros

+0

php脚本位于服务器a/apache服务器在服务器a /上,并且也应该从服务器a 。我只想使用“服务器b”隐藏“服务器”ip。 PHP脚本使用curl来打开网站并获取其内容。我想让这个网站看到我的“服务器B”ip而不是a:D – Alexandros

+0

尝试了没有运气的第一种方式。它一直要求我输入密码 – Alexandros