實戰(zhàn) SSH 端口轉(zhuǎn)發(fā)

我的應(yīng)用場景是:在vps(root@159.89.206.20)上面跑了個只能在服務(wù)器本地訪問的網(wǎng)頁:127.0.0.1:5000唐全,又不想跑apache割以,想在mac端連接上該網(wǎng)頁,該怎么辦呢本讥?搜了一下珊泳,發(fā)現(xiàn)用ssh本地端口轉(zhuǎn)發(fā)可以解決, 在mac端運行以下命令:
ssh -L 7001:localhost:5000 root@159.89.206.20
就是讓mac通過ssh連上vps的服務(wù)拷沸,上面的localhost是指服務(wù)器上的localhost色查,對應(yīng)的格式見下方:
ssh -L <local port>:<remote host>:<remote port> <SSH hostname>
這樣,只要在mac端輸入localhost:7001就可以了訪問了, 但要注意不能把命令行窗口關(guān)閉撞芍,否則ssh本地端口轉(zhuǎn)發(fā)也就關(guān)閉了秧了。

下文轉(zhuǎn)自實戰(zhàn) SSH 端口轉(zhuǎn)發(fā)

第一部分 概述

當你在咖啡館享受免費 WiFi 的時候,有沒有想到可能有人正在竊取你的密碼及隱私信息序无?當你發(fā)現(xiàn)實驗室的防火墻阻止了你的網(wǎng)絡(luò)應(yīng)用端口验毡,是不是有苦難言衡创?來看看 SSH 的端口轉(zhuǎn)發(fā)功能能給我們帶來什么好處吧!

端口轉(zhuǎn)發(fā)概述

讓我們先來了解一下端口轉(zhuǎn)發(fā)的概念吧晶通。我們知道璃氢,SSH 會自動加密和解密所有 SSH 客戶端與服務(wù)端之間的網(wǎng)絡(luò)數(shù)據(jù)。但是狮辽,SSH 還同時提供了一個非常有用的功能一也,這就是端口轉(zhuǎn)發(fā)。它能夠?qū)⑵渌?TCP 端口的網(wǎng)絡(luò)數(shù)據(jù)通過 SSH 鏈接來轉(zhuǎn)發(fā)喉脖,并且自動提供了相應(yīng)的加密及解密服務(wù)椰苟。這一過程有時也被叫做“隧道”(tunneling),這是因為 SSH 為其他 TCP 鏈接提供了一個安全的通道來進行傳輸而得名树叽。例如舆蝴,Telnet,SMTP菱皆,LDAP 這些 TCP 應(yīng)用均能夠從中得益须误,避免了用戶名,密碼以及隱私信息的明文傳輸仇轻。而與此同時京痢,如果您工作環(huán)境中的防火墻限制了一些網(wǎng)絡(luò)端口的使用,但是允許 SSH 的連接篷店,那么也是能夠通過將 TCP 端口轉(zhuǎn)發(fā)來使用 SSH 進行通訊祭椰。總的來說 SSH 端口轉(zhuǎn)發(fā)能夠提供兩大功能:

  1. 加密 SSH Client 端至 SSH Server 端之間的通訊數(shù)據(jù)疲陕。
  2. 突破防火墻的限制完成一些之前無法建立的 TCP 連接方淤。
圖 1. SSH 端口轉(zhuǎn)發(fā)
SSH 端口轉(zhuǎn)發(fā)

如上圖所示,使用了端口轉(zhuǎn)發(fā)之后蹄殃,TCP 端口 A 與 B 之間現(xiàn)在并不直接通訊携茂,而是轉(zhuǎn)發(fā)到了 SSH 客戶端及服務(wù)端來通訊,從而自動實現(xiàn)了數(shù)據(jù)加密并同時繞過了防火墻的限制诅岩。

第二部分 本地轉(zhuǎn)發(fā)與遠程轉(zhuǎn)發(fā)

本地轉(zhuǎn)發(fā)實例分析

我們先來看第一個例子讳苦,在實驗室里有一臺 LDAP 服務(wù)器(LdapServerHost),但是限制了只有本機上部署的應(yīng)用才能直接連接此 LDAP 服務(wù)器吩谦。如果我們由于調(diào)試或者測試的需要想臨時從遠程機器(LdapClientHost)直接連接到這個 LDAP 服務(wù)器 , 有什么方法能夠?qū)崿F(xiàn)呢鸳谜?
答案無疑是本地端口轉(zhuǎn)發(fā)了,它的命令格式是:

ssh -L <local port>:<remote host>:<remote port> <SSH hostname>

在 LdapClientHost 上執(zhí)行如下命令即可建立一個 SSH 的本地端口轉(zhuǎn)發(fā)式廷,例如:

$ ssh -L 7001:localhost:389 LdapServerHost
圖 2. 本地端口轉(zhuǎn)發(fā)
本地端口轉(zhuǎn)發(fā)

這里需要注意的是本例中我們選擇了 7001 端口作為本地的監(jiān)聽端口咐扭,在選擇端口號時要注意非管理員帳號是無權(quán)綁定 1-1023 端口的,所以一般是選用一個 1024-65535 之間的并且尚未使用的端口號即可。

然后我們可以將遠程機器(LdapClientHost)上的應(yīng)用直接配置到本機的 7001 端口上(而不是 LDAP 服務(wù)器的 389 端口上)蝗肪。之后的數(shù)據(jù)流將會是下面這個樣子:

  • 我們在 LdapClientHost 上的應(yīng)用將數(shù)據(jù)發(fā)送到本機的 7001 端口上袜爪,
  • 而本機的 SSH Client 會將 7001 端口收到的數(shù)據(jù)加密并轉(zhuǎn)發(fā)到 LdapServertHost 的 SSH Server 上。
  • SSH Server 會解密收到的數(shù)據(jù)并將之轉(zhuǎn)發(fā)到監(jiān)聽的 LDAP 389 端口上穗慕,
  • 最后再將從 LDAP 返回的數(shù)據(jù)原路返回以完成整個流程饿敲。

我們可以看到妻导,這整個流程應(yīng)用并沒有直接連接 LDAP 服務(wù)器逛绵,而是連接到了本地的一個監(jiān)聽端口,但是 SSH 端口轉(zhuǎn)發(fā)完成了剩下的所有事情倔韭,加密术浪,轉(zhuǎn)發(fā),解密寿酌,通訊胰苏。

這里有幾個地方需要注意:

  1. SSH 端口轉(zhuǎn)發(fā)是通過 SSH 連接建立起來的,我們必須保持這個 SSH 連接以使端口轉(zhuǎn)發(fā)保持生效醇疼。一旦關(guān)閉了此連接硕并,相應(yīng)的端口轉(zhuǎn)發(fā)也會隨之關(guān)閉。
  2. 我們只能在建立 SSH 連接的同時創(chuàng)建端口轉(zhuǎn)發(fā)秧荆,而不能給一個已經(jīng)存在的 SSH 連接增加端口轉(zhuǎn)發(fā)倔毙。
  3. 你可能會疑惑上面命令中的 <remote host> 為什么用 localhost,它指向的是哪臺機器呢乙濒?在本例中陕赃,它指向 LdapServertHost 。我們?yōu)槭裁从?localhost 而不是 IP 地址或者主機名呢颁股?其實這個取決于我們之前是如何限制 LDAP 只有本機才能訪問么库。如果只允許 lookback 接口訪問的話,那么自然就只有 localhost 或者 IP 為 127.0.0.1 才能訪問了甘有,而不能用真實 IP 或者主機名诉儒。
  4. 命令中的 <remote host> 和 <SSH hostname> 必須是同一臺機器么?其實是不一定的亏掀,它們可以是兩臺不同的機器忱反。我們在后面的例子里會詳細闡述這點。
  5. 好了幌氮,我們已經(jīng)在 LdapClientHost 建立了端口轉(zhuǎn)發(fā)缭受,那么這個端口轉(zhuǎn)發(fā)可以被其他機器使用么?比如能否新增加一臺 LdapClientHost2 來直接連接 LdapClientHost 的 7001 端口该互?答案是不行的米者,在主流 SSH 實現(xiàn)中,本地端口轉(zhuǎn)發(fā)綁定的是 lookback 接口,這意味著只有 localhost 或者 127.0.0.1 才能使用本機的端口轉(zhuǎn)發(fā) , 其他機器發(fā)起的連接只會得到“ connection refused. ”蔓搞。好在 SSH 同時提供了 GatewayPorts 關(guān)鍵字胰丁,我們可以通過指定它與其他機器共享這個本地端口轉(zhuǎn)發(fā)。
    ssh -g -L <local port>:<remote host>:<remote port> <SSH hostname>

遠程轉(zhuǎn)發(fā)實例分析

我們來看第二個例子喂分,這次假設(shè)由于網(wǎng)絡(luò)或防火墻的原因我們不能用 SSH 直接從 LdapClientHost 連接到 LDAP 服務(wù)器(LdapServertHost)锦庸,但是反向連接卻是被允許的。那此時我們的選擇自然就是遠程端口轉(zhuǎn)發(fā)了蒲祈。
它的命令格式是:
ssh -R <local port>:<remote host>:<remote port> <SSH hostname>
例如在 LDAP 服務(wù)器(LdapServertHost)端執(zhí)行如下命令:
$ ssh -R 7001:localhost:389 LdapClientHost

圖 3. 遠程端口轉(zhuǎn)發(fā)
遠程端口轉(zhuǎn)發(fā)

和本地端口轉(zhuǎn)發(fā)相比甘萧,這次的圖里,SSH Server 和 SSH Client 的位置對調(diào)了一下梆掸,但是數(shù)據(jù)流依然是一樣的扬卷。我們在 LdapClientHost 上的應(yīng)用將數(shù)據(jù)發(fā)送到本機的 7001 端口上,而本機的 SSH Server 會將 7001 端口收到的數(shù)據(jù)加密并轉(zhuǎn)發(fā)到 LdapServertHost 的 SSH Client 上酸钦。 SSH Client 會解密收到的數(shù)據(jù)并將之轉(zhuǎn)發(fā)到監(jiān)聽的 LDAP 389 端口上怪得,最后再將從 LDAP 返回的數(shù)據(jù)原路返回以完成整個流程。

看到這里卑硫,你是不是會有點糊涂了么徒恋?為什么叫本地轉(zhuǎn)發(fā),而有時又叫遠程轉(zhuǎn)發(fā)欢伏?這兩者有什么區(qū)別入挣?

本地轉(zhuǎn)發(fā)與遠程轉(zhuǎn)發(fā)的對比與分析

不錯,SSH Server颜懊,SSH Client财岔,LdapServertHost,LdapClientHost河爹,本地轉(zhuǎn)發(fā)匠璧,遠程轉(zhuǎn)發(fā),這么多的名詞的確容易讓人糊涂咸这。讓我們來分析一下其中的結(jié)構(gòu)吧夷恍。首先,SSH 端口轉(zhuǎn)發(fā)自然需要 SSH 連接媳维,而 SSH 連接是有方向的酿雪,從 SSH Client 到 SSH Server 。而我們的應(yīng)用也是有方向的侄刽,比如需要連接 LDAP Server 時指黎,LDAP Server 自然就是 Server 端,我們應(yīng)用連接的方向也是從應(yīng)用的 Client 端連接到應(yīng)用的 Server 端州丹。如果這兩個連接的方向一致醋安,那我們就說它是本地轉(zhuǎn)發(fā)杂彭。而如果兩個方向不一致,我們就說它是遠程轉(zhuǎn)發(fā)吓揪。
我們可以回憶上面的兩個例子來做個對照亲怠。
本地轉(zhuǎn)發(fā)時:
LdapClientHost 同時是應(yīng)用的客戶端,也是 SSH Client柠辞,這兩個連接都從它指向 LdapServertHost(既是 LDAP 服務(wù)端团秽,也是 SSH Server)。
遠程轉(zhuǎn)發(fā)時:
LdapClientHost 是應(yīng)用的客戶端叭首,但卻是 SSH Server 习勤;而 LdapServertHost 是 LDAP 的服務(wù)端,但卻是 SSH Client 放棒。這樣兩個連接的方向剛好相反姻报。
另一個方便記憶的方法是,Server 端的端口都是預定義的固定端口(SSH Server 的端口 22间螟,LDAP 的端口 389),而 Client 端的端口都是動態(tài)可供我們選擇的端口(如上述例子中選用的 7001 端口)损肛。如果 Server 端的兩個端口都在同一臺機器厢破,Client 端的兩個端口都在另一臺機器上,那么這就是本地連接治拿;如果這四個端口交叉分布在兩個機器上摩泪,每臺機器各有一個 Server 端端口,一個 Client 端端口劫谅,那就是遠程連接见坑。
弄清楚了兩者的區(qū)別之后,再來看看兩者的相同之處捏检。如果你所在的環(huán)境下荞驴,既允許 LdapClientHost 發(fā)起 SSH 連接到 LdapServerHost,也允許 LdapServerHost 發(fā)起 SSH 連接到 LdapClientHost 贯城。那么這時我們選擇本地轉(zhuǎn)發(fā)或遠程轉(zhuǎn)發(fā)都是可以的熊楼,能完成一樣的功能。
接著讓我們來看個進階版的端口轉(zhuǎn)發(fā)能犯。我們之前涉及到的各種連接 / 轉(zhuǎn)發(fā)都只涉及到了兩臺機器鲫骗,還記得我們在本地轉(zhuǎn)發(fā)中提到的一個問題么?本地轉(zhuǎn)發(fā)命令中的 <remote host> 和 <SSH hostname> 可以是不同的機器么踩晶?
ssh -L <local port>:<remote host>:<remote port> <SSH hostname>
答案是可以的执泰!讓我們來看一個涉及到四臺機器 (A,B,C,D) 的例子。

圖 4. 多主機轉(zhuǎn)發(fā)應(yīng)用
多主機轉(zhuǎn)發(fā)應(yīng)用

在 SSH Client(C) 執(zhí)行下列命令來建立 SSH 連接以及端口轉(zhuǎn)發(fā):
$ ssh -g -L 7001:<B>:389 <D>
然后在我們的應(yīng)用客戶端(A)上配置連接機器(C )的 7001 端口即可渡蜻。注意我們在命令中指定了“ -g ”參數(shù)以保證機器(A)能夠使用機器(C)建立的本地端口轉(zhuǎn)發(fā)术吝。而另一個值得注意的地方是,在上述連接中,(A)<-> (C) 以及 (B)<->(D) 之間的連接并不是安全連接顿苇,它們之間沒有經(jīng)過 SSH 的加密及解密峭咒。如果他們之間的網(wǎng)絡(luò)并不是值得信賴的網(wǎng)絡(luò)連接,我們就需要謹慎使用這種連接方式了纪岁。

第三部分 其他類型的轉(zhuǎn)發(fā)

動態(tài)轉(zhuǎn)發(fā)實例分析
恩凑队,動態(tài)轉(zhuǎn)發(fā),聽上去很酷幔翰。當你看到這里時漩氨,有沒有想過我們已經(jīng)討論過了本地轉(zhuǎn)發(fā),遠程轉(zhuǎn)發(fā)遗增,但是前提都是要求有一個固定的應(yīng)用服務(wù)端的端口號叫惊,例如前面例子中的 LDAP 服務(wù)端的 389 端口。那如果沒有這個端口號怎么辦做修?等等霍狰,什么樣的應(yīng)用會沒有這個端口號呢?嗯饰及,比如說用瀏覽器進行 Web 瀏覽蔗坯,比如說 MSN 等等。
當我們在一個不安全的 WiFi 環(huán)境下上網(wǎng)燎含,用 SSH 動態(tài)轉(zhuǎn)發(fā)來保護我們的網(wǎng)頁瀏覽及 MSN 信息無疑是十分必要的宾濒。讓我們先來看一下動態(tài)轉(zhuǎn)發(fā)的命令格式:
$ ssh -D <local port> <SSH Server>
例如:
$ ssh -D 7001 <SSH Server>

圖 5. 動態(tài)端口轉(zhuǎn)發(fā)
動態(tài)端口轉(zhuǎn)發(fā)

似乎很簡單,我們依然選擇了 7001 作為本地的端口號屏箍,其實在這里 SSH 是創(chuàng)建了一個 SOCKS 代理服務(wù)绘梦。來看看幫助文檔中對 -D 參數(shù)的描述:

-D port 
 This works by allocating a socket to listen to port on the local 
 side, and whenever a connection is made to this port, the con- 
 nection is forwarded over the secure channel, and the applica- 
 tion protocol is then used to determine where to connect to from 
 the remote machine.  Currently the SOCKS4 and SOCKS5 protocols 
 are supported, and ssh will act as a SOCKS server.  Only root 
 can forward privileged ports.  Dynamic port forwardings can also 
 be specified in the configuration file.

之后的使用就簡單了,我們可以直接使用 localhost:7001 來作為正常的 SOCKS 代理來使用赴魁,直接在瀏覽器或 MSN 上設(shè)置即可卸奉。在 SSH Client 端無法訪問的網(wǎng)站現(xiàn)在也都可以正常瀏覽。而這里需要值得注意的是尚粘,此時 SSH 所包護的范圍只包括從瀏覽器端(SSH Client 端)到 SSH Server 端的連接择卦,并不包含從 SSH Server 端 到目標網(wǎng)站的連接。如果后半截連接的安全不能得到充分的保證的話郎嫁,這種方式仍不是合適的解決方案秉继。

X 協(xié)議轉(zhuǎn)發(fā)實例分析

好了,讓我們來看最后一個例子 - X 協(xié)議轉(zhuǎn)發(fā)泽铛。
我們?nèi)粘9ぷ鳟斨猩屑赡軙?jīng)常會遠程登錄到 Linux/Unix/Solaris/HP 等機器上去做一些開發(fā)或者維護,也經(jīng)常需要以 GUI 方式運行一些程序盔腔,比如要求圖形化界面來安裝 DB2/WebSphere 等等杠茬。這時候通常有兩種選擇來實現(xiàn):VNC 或者 X 窗口月褥,讓我們來看看后者。
使用 X 窗口通常需要分別安裝:X Client 和 X Server 瓢喉。在本例中我們的 X Client 就是所訪問的遠程 Linux/Unix/Solaris/HP宁赤,而我們的 X Server 則是發(fā)起訪問的本地機器(例如你面前正在使用的筆記本或臺式機)。把 X Client 端的 X 窗口顯示在 X Server 端需要先行在 X Client 端指定 X Server 的位置栓票,命令格式如下:
export DISPLAY=<X Server IP>:<display #>.<virtual #>
例如:
export DISPLAY=myDesktop:1.0
然后直接運行 X 應(yīng)用即可决左,X 窗口就會自動在我們的本地端打開。
一切運行正常走贪,但是佛猛,這時候 IT 部門突然在遠程 Linux/Unix/Solaris/HP 前面加了一道防火墻。非常不幸的是坠狡,X 協(xié)議并不在允許通過的列表之內(nèi)继找。怎么辦?只能使用 VNC 了么逃沿?不婴渡,其實只要使用了 SSH 端口轉(zhuǎn)發(fā)即可通過,同時也對 X 通訊數(shù)據(jù)做了加密感挥,真是一舉兩得缩搅。(當然,使用此方法前最好先咨詢相關(guān) IT 部門是否符合相應(yīng)的安全條例触幼,以免造成違規(guī)操作。)
建立命令也很簡單究飞,直接從本地機器(X Server 端)發(fā)起一個如下的 SSH 連接即可:
ssh -X <SSH Server>

圖 5. X 轉(zhuǎn)發(fā)
X 轉(zhuǎn)發(fā)

建立連接之后就可以直接運行遠程的 X 應(yīng)用置谦。注意建立 X 轉(zhuǎn)發(fā)之后會自動設(shè)置 DISPLAY 環(huán)境變量,通常會被設(shè)置成localhost:10.0亿傅,我們無需也不應(yīng)該在連接之后再進行修改此環(huán)境變量媒峡。

一個比較常見的場景是,我們的本地機器是 Windows 操作系統(tǒng)葵擎,這時可以選擇開源的 XMing 來作為我們的 XServer谅阿,而 SSH Client 則可以任意選擇了,例如 PuTTY酬滤,Cygwin 均可以配置 訪問 SSH 的同時建立 X 轉(zhuǎn)發(fā)签餐。

第四部分 總結(jié)

至此,我們已經(jīng)完成了本地端口轉(zhuǎn)發(fā)盯串,遠程端口轉(zhuǎn)發(fā)氯檐,動態(tài)端口轉(zhuǎn)發(fā)以及 X 轉(zhuǎn)發(fā)的介紹√迥螅回顧起來冠摄,總的思路是通過將 TCP 連接轉(zhuǎn)發(fā)到 SSH 通道上以解決數(shù)據(jù)加密以及突破防火墻的種種限制糯崎。對一些已知端口號的應(yīng)用,例如 Telnet/LDAP/SMTP河泳,我們可以使用本地端口轉(zhuǎn)發(fā)或者遠程端口轉(zhuǎn)發(fā)來達到目的沃呢。動態(tài)端口轉(zhuǎn)發(fā)則可以實現(xiàn) SOCKS 代理從而加密以及突破防火墻對 Web 瀏覽的限制。對于 X 應(yīng)用拆挥,無疑是 X 轉(zhuǎn)發(fā)最為適用了薄霜。雖然每一部分我們都只是簡單的介紹了一下,但如果能靈活應(yīng)用這些技巧竿刁,相信對我們的日常生活 / 工作也是會有所幫助的黄锤。


相關(guān)主題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸵熟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子负甸,更是在濱河造成了極大的恐慌流强,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻待,死亡現(xiàn)場離奇詭異打月,居然都是意外死亡,警方通過查閱死者的電腦和手機蚕捉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門奏篙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人迫淹,你說我怎么就攤上這事秘通。” “怎么了敛熬?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵肺稀,是天一觀的道長。 經(jīng)常有香客問我应民,道長话原,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任诲锹,我火速辦了婚禮繁仁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辕狰。我一直安慰自己改备,他們只是感情好,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布蔓倍。 她就那樣靜靜地躺著悬钳,像睡著了一般盐捷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上默勾,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天碉渡,我揣著相機與錄音,去河邊找鬼母剥。 笑死滞诺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的环疼。 我是一名探鬼主播习霹,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼炫隶!你這毒婦竟也來了淋叶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤伪阶,失蹤者是張志新(化名)和其女友劉穎煞檩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栅贴,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡斟湃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了檐薯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凝赛。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坛缕,靈堂內(nèi)的尸體忽然破棺而出哄酝,到底是詐尸還是另有隱情,我是刑警寧澤祷膳,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站屡立,受9級特大地震影響直晨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜膨俐,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一勇皇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧焚刺,春花似錦敛摘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屯远。三九已至,卻和暖如春捕虽,著一層夾襖步出監(jiān)牢的瞬間慨丐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工泄私, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留房揭,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓晌端,卻偏偏與公主長得像捅暴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子咧纠,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 第一部分 概述當你在咖啡館享受免費 WiFi 的時候蓬痒,有沒有想到可能有人正在竊取你的密碼及隱私信息?當你發(fā)現(xiàn)實驗室...
    fastjrun閱讀 1,148評論 0 8
  • 實戰(zhàn) SSH 端口轉(zhuǎn)發(fā) 通過本文的介紹惧盹,讀者可以從中了解到如何應(yīng)用 SSH 端口轉(zhuǎn)發(fā)機制來解決日常工作 / 生活中...
    hopevow閱讀 1,051評論 0 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理乳幸,服務(wù)發(fā)現(xiàn),斷路器钧椰,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • ??本文將介紹兩種應(yīng)用場景的SSH端口轉(zhuǎn)發(fā)粹断,分別是SSH本地轉(zhuǎn)發(fā)以及SSH遠程轉(zhuǎn)發(fā)。 簡介 ??SSH(Secur...
    KingFighting閱讀 1,470評論 0 5
  • 名詞延伸 通俗的說养筒,域名就相當于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你端姚。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,592評論 2 57