通過Web瀏覽器訪問服務器終端

假設由於某種原因,我們無法通過終端訪問服務器,因為也許是因為我們走在街上,而我們的手機僅位於頂部,並且由於我們不是極客或其他任何人,因此未安裝任何應用程序這種類型。

那我們該怎麼辦? 好吧,什麼都沒有,在回家或工作,訪問服務器並安裝之前,我們無法做任何事情 Shellinabox。 那是什麼,你吃嗎?

Shellinabox

Shellinabox 實施 一台服務器 可以 出口 線工具 命令 一個聯合國 終端模擬器 基於網絡. 這個模擬器 可從任何支持以下功能的瀏覽器訪問 JavaScript的 和CSS y 不需要 沒有那種 插入 除了功能。

儘管原始項目已終止,但仍有 Github上的叉子 如果存儲庫中沒有它,則可以安裝它。 如果是Ubuntu 14.04,那麼我們只需要打開一個終端並放:

$ sudo apt install shellinabox openssl ca-certificates

對於最後兩個軟件包,以防萬一我們尚未安裝它們。 一旦完成,我們現在可以通過放入瀏覽器來訪問我們的網絡終端:

http://la_ip_o_nombre_del_servidor:4200

Shellinabox

通過端口80使用Shellinabox

如您所見,Shellinabox默認使用端口 4200 如果我們的服務提供商阻止了它,我們可能無法訪問它。 我們可以使用不安全但可行的變體,即使用 Shellinabox 靠港口 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 Shellinabox:

$ sudo /etc/init.d/shellinabox重新啟動$ sudo /etc/init.d/nginx重新啟動

準備好了!!

通過端口443使用Shellinabox

這個過程比較麻煩,因為我們必須創建SSL證書。 為此,我們將執行以下操作:

首先我們安裝OpenSSL:

$ sudo apt-get install openssl

我們創建一個私鑰:

openssl genrsa -out server.key 2024

我們創建證書的基礎,我們將在其中放置一系列數據:

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

我們將填寫的數據將是:

  • 國家名稱(2個字母代碼): 國家或地區代碼,採用兩個字母的ISO格式(例如:ES,US,CU,MX ..)。
  • 州或省名稱(全名): 州或省(例如:佛羅里達州)。
  • 地區名稱: 城鎮(例如:邁阿密)。
  • 機構名稱: 組織名稱,(例如:FromLinux)。
  • 組織單位名稱: 組織部門(例如:博客)。
  • 通用名稱: 域名或FQDN。 重要的是要知道blog.desdelinux.net和desdelinux.net之間存在差異。 您必須為一個或另一個註冊證書。
  • 電郵地址: 聯繫人電子郵件地址。
  • 質詢密碼: 在白色。
  • 可選的公司名稱: 在白色。

現在,我們生成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

僅此而已。


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

7條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  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) 他說:

    優秀人士表示感謝