假設由於某種原因,我們無法通過終端訪問服務器,因為也許是因為我們走在街上,而我們的手機僅位於頂部,並且由於我們不是極客或其他任何人,因此未安裝任何應用程序這種類型。
那我們該怎麼辦? 好吧,什麼都沒有,在回家或工作,訪問服務器並安裝之前,我們無法做任何事情 貝殼盒。 那是什麼,你吃嗎?
貝殼盒
貝殼盒 實施 一台服務器 可以 出口 線工具 命令 一個聯合國 終端模擬器 基於網絡. 這個模擬器 可從任何支持以下功能的瀏覽器訪問 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
僅此而已。
它讓我想起了CSI系列中出現的一切
最有趣的帖子; 我從來沒有聽說過這個實用程序,事實是它是最好奇和最有用的……我必須假設就像這個概念已經被應用到Ngix一樣,它也可以被應用到Apache,對嗎?
它使我想起Butterfly的工作方式,尤其是在通過瀏覽器使用終端時。 當然,沒有這裡顯示的那麼複雜🙂
«假設由於某種原因,我們無法通過終端訪問服務器,因為也許是因為我們正走在街上,而手機僅放在頂部,並且由於我們不是極客或其他任何人,所以未安裝任何應用程序這種。”
如果我們不是極客,我們將如何進入服務器? 哈哈哈
在我看來,使用ssh應用程序比使用瀏覽器要快得多,並且可以避免在服務器上安裝軟件,但這仍然是一個有趣的選擇。
在純Windows環境下的優勢。
“在純Windows環境中的優勢。”
粘膩子或小貓。
優秀人士表示感謝