通过Web浏览器访问服务器终端

假设由于某种原因,我们无法通过终端访问服务器,因为也许是因为我们走在街上,而我们的手机只在顶部,并且由于我们不是极客或其他任何人,所以我们没有安装任何此类应用程序。

那我们该怎么办? 好吧,什么都没有,在回家或工作,访问服务器并安装之前,我们无法做任何事情 贝壳盒。 那是什么,你吃吗?

贝壳盒

贝壳盒 器物 一台服务器 可以 出口 线工具 命令 到一个 终端模拟器 基于网络. 这个模拟器 可从任何支持以下功能的浏览器访问 JavaScript的 和CSS y 它不需要 没什么 插入 除了功能。

尽管原始项目已终止,但仍有 Github上的叉子 如果存储库中没有它,则可以安装它。 如果是Ubuntu 14.04,那么我们只需要打开一个终端并放:

$ sudo apt install shellinabox openssl ca-certificates

对于最后两个软件包,以防万一我们尚未安装它们。 一旦完成,我们现在可以通过放入浏览器来访问我们的网络终端:

http://la_ip_o_nombre_del_servidor:4200

贝壳盒

通过端口80使用Shellinabox

如您所见,Shellinabox默认使用端口 4200 如果我们的服务提供商阻止了它,我们可能将无法访问它。 我们可以使用不安全但可行的变体,即使用 贝壳盒 靠港口 80,尽管稍后我将展示如何使用 443 如果有的话。

我们要做的是通过放入浏览器访问Shellinabox:

http://la_ip_o_nombre_del_servidor/terminal

为此,我们要做的第一件事是安装NGinx:

$ sudo apt install nginx

现在我们创建文件 / etc / nginx /启用了站点/ shellinabox 然后将其放入其中:

 服务器{proxy_set_header主机$ http_host; proxy_set_header X-Forwarded-Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; 位置/终端/ {proxy_pass http://本地主机:4200 /; }}

我们编辑文件 / etc /默认/ shellinabox 然后我们放在最后:

SHELLINABOX_ARGS="--localhost-only --disable-ssl"

我们重启 金克斯 y 贝壳盒:

$ sudo /etc/init.d/shellinabox重新启动$ sudo /etc/init.d/nginx重新启动

准备好了!!

通过端口443使用Shellinabox

这个过程比较麻烦,因为我们必须创建SSL证书。 为此,我们将执行以下操作:

首先我们安装OpenSSL:

$ sudo apt-get 安装 openssl

我们创建一个私钥:

openssl genrsa -out server.key 2024

我们创建证书的基础,我们将在其中放置一系列数据:

openssl req -new -key server.key -out server.csr

我们将填写的数据将是:

  • 国家名称(2个字母代码): 国家或地区代码,采用两个字母的ISO格式(例如:ES,US,CU,MX ..)。
  • 州或省名称(全名): 州或省(例如:佛罗里达州)。
  • 地区名称: 城镇(例如:迈阿密)。
  • 机构名称: 组织名称(例如: DesdeLinux).
  • 组织单位名称: 组织部门(例如:博客)。
  • 通用名称: 域名或 FQDN。重要的是要知道博客之间存在差异。desdelinux.net 和 desdelinux。网。您必须注册其中之一的证书。
  • 电子邮件地址: 联系人电子邮件地址。
  • 质询密码: 在白色。
  • 可选的公司名称: 在白色。

现在,我们生成SSL证书,该证书将使用我们输入的数据:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

我们将证书复制到/ etc内的SSL文件夹:

$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key

我们再次编辑文件 / etc /默认/ shellinabox 然后我们更改我们的内容,放在最后:

SHELLINABOX_ARGS="--no-beep"

现在我们编辑文件 / etc / nginx /启用了站点/ shellinabox 然后将其放入其中:

 服务器{监听80; 返回301 https:// $ host $ request_uri; }服务器{监听443; server_name myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl on; 内置ssl_session_cache:1000共享:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EXPORT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers; access_log /var/log/nginx/shellinabox.access.log; 位置/终端{proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $方案; #修复“您的反向代理设置似乎已损坏”的错误。Proxy_pass HTTP://本地主机:4200 /; proxy_read_timeout 90; proxy_redirect http://本地主机:4200 https://myvps.com/terminal/;} }

我们重新启动服务:

$ sudo /etc/init.d/shellinabox重新启动$ sudo /etc/init.d/nginx重新启动

我们访问

http://la_ip_o_nombre_del_servidor/terminal

应该将我们重定向到:

https://la_ip_o_nombre_del_servidor/terminal

仅此而已。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   小丑

    它让我想起了CSI系列中出现的一切

  2.   德拉西尔

    最有趣的帖子; 我从来没有听说过这个实用程序,事实是它是最好奇和最有用的……我必须假设,就像这个概念已被应用于Ngix一样,它也可以被应用于Apache,对吗?

  3.   mat1986

    它使我想起Butterfly的工作方式,尤其是在通过浏览器使用终端时。 当然,没有这里显示的那么复杂🙂

  4.   西克兹

    «让我们假设由于某种原因,我们无法通过终端访问服务器,因为也许是因为我们走在街上,而手机仅放在顶部,并且由于我们不是极客或其他任何人,所以我们尚未安装此应用程序类型。”

    如果我们不是极客,我们将如何进入服务器? 哈哈哈

    在我看来,使用ssh应用程序比使用浏览器要快得多,并且可以避免在服务器上安装软件,但这仍然是一个有趣的选择。

  5.  

    在纯Windows环境下的优势。

  6.   名称

    “在纯Windows环境中的优势。”
    粘腻子或小猫。

  7.   何塞·曼努埃尔·伊格拉(Jose Manuel Higuera)

    优秀男子们,超级感谢您的贡献