【问题标题】:How can I open a web browser on a server that I can connect to through ssh?如何在可以通过 ssh 连接的服务器上打开 Web 浏览器?
【发布时间】:2016-10-31 00:41:22
【问题描述】:

我在我的大学 (Ryerson) 攻读计算机科学专业,并且正在学习 perl 编程。

我们学习的方式是在我们大学的服务器上托管 perl 脚本并用它们做一些事情。

我不在大学,大学的服务器对哪些 IP 可以使用 www2 子域(这是运行 perl 脚本的子域)非常严格。我正在使用的 IP 给我带来了错误:



禁止

您无权访问此服务器上的 /~w3dixon/cgi-bin/lab4.cgi。

Apache/2.2.22 (Debian) 服务器位于 www2.scs.ryerson.ca 端口 80



Here's the link, if you want to try to access the script yourself.

所以我被阻止了。通常我会联系系统管理员并让他们解除对我的阻止,但是今晚要发布一个有效的 perl 脚本。 (我也试过用VPN,也被屏蔽了)。

我的解决方案是使用我的 Mac 上的终端和/或我的 PC 上的 Putty SSH 到 Ryerson 的服务器,并使用 unix 命令“lynx”运行我的脚本(因为它们没有阻止自己的 IP)。

我取得了一些成功,直到我尝试使用 html 表单中的 perl get 方法(我从 https://www.tutorialspoint.com/perl/perl_cgi.htm 复制粘贴了一个脚本只是为了开始,看看语法正确的代码是否能与我的 lynx 策略正常工作)。

所以当我在大学使用终端(使用谷歌浏览器)编写脚本时,我的脚本运行良好。

瑞尔森(我的大学)没有设置远程访问程序(ssh 除外),但有没有办法通过我机器上安装的 GUI 浏览器上的服务器访问我的网页?

【问题讨论】:

  • 我不只是在您的 PC 上设置一个 Web 服务器/perl 吗?
  • 好计划 B,但我不能确定在我的服务器上运行的脚本会在他们的服务器上运行。但我现在肯定会开始这样做。现在谷歌搜索,但有什么建议吗? =
  • 您可以使用 SSH 将本地端口隧道连接到远程 localhost:80。像这样的东西:askubuntu.com/questions/112177/…
  • 哦,太酷了。现在试试。太棒了!
  • 你检查过文件是否是世界可读的吗?

标签: apache perl unix ssh server


【解决方案1】:

SSH 隧道很可能是实现您想要的最可行和最简单的方法。像这样设置隧道:

ssh -L8080:www2.scs.ryerson.ca:80 username@www2.scs.ryerson.ca

如果 www2 服务器不是您通过 SSH 连接的主机,只需将命令中的第二个实例替换为 SSH 服务器即可。

我在这里使用端口8080,因为这样可以减轻您对root 权限的需求。

现在,在本地工作站上的浏览器中,浏览到:

http://localhost:8080

【讨论】:

  • 坚果,当我尝试查看端口 8080 通道 2 时,我从终端收到错误消息:打开失败:管理禁止:打开失败可能意味着我没有权限执行此操作。
  • 是的,我已经搜索了错误,这意味着我没有权限执行此操作。你仍然是我一直在寻找的答案,所以 tyvm
  • 有时 sshd(ssh 守护进程,即 ssh 连接的服务器端)被配置为禁止 ssh 隧道。也许这里就是这种情况。
猜你喜欢
  • 2017-02-05
  • 1970-01-01
  • 2022-10-15
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 2017-09-24
  • 2017-01-12
  • 1970-01-01
相关资源
最近更新 更多