玩转SSH端口转发
ssh端口轉(zhuǎn)發(fā)(tunnel)
? 我們在實施項目部署時經(jīng)常會遇到一種問題,那就是當我們給一些安全系數(shù)高的客戶部署服務(wù)時,大多都不會給我們提供公網(wǎng)訪問的權(quán)限,但是很多時候為了方便又會允許服務(wù)器直接訪問公網(wǎng),遇到這種情況大多有兩種辦法:
- 客戶搭建VPN服務(wù),通過VPN實現(xiàn)內(nèi)網(wǎng)登錄服務(wù)器
到客戶現(xiàn)場部署
? 當客戶提供VPN時還是比較理想的一種操作辦法,部署維護起來都比較方便,但是如果是現(xiàn)場部署呢?難道讓我們今后每次維護起來都要到現(xiàn)場么?顯然難度比較大,今天來介紹一種技術(shù)來通過端口轉(zhuǎn)發(fā)技術(shù)來解決這一問題。端口轉(zhuǎn)發(fā)的三種模式
本地端口轉(zhuǎn)發(fā)
本地通過SSH隧道訪問遠程服務(wù)器內(nèi)的端口。
格式:-L <local_port>:<host>:<host_port> <ssh_server>
例如:ssh -p 1234 -L 5656:localhost:8080 federico@www.federico.xin
最后我們通過訪http://localhost:5656就能夠訪問到服務(wù)器的8080端口。遠程端口轉(zhuǎn)發(fā)
遠程服務(wù)器通過SSH隧道訪問本地端口。用于內(nèi)網(wǎng)穿透。
格式:-R <remote_port>:<host>:<host_port> <ssh_server>
例如:ssh -p 1234 -R 5656:localhost:80 federico@www.federico.xin
最后我們在遠程服務(wù)器端訪問http://localhost:5656就可以訪問內(nèi)網(wǎng)映射服務(wù)器。
ssh -p 1234 -R 5656:localhost:22 federico@www.federico.xin當命令變?yōu)橛成洚斍胺?wù)器的ssh端口可以實現(xiàn)在遠程服務(wù)器訪問5656端口,直接轉(zhuǎn)到本地服務(wù)器,也就是我們最開始敘述要實現(xiàn)的功能了。動態(tài)端口轉(zhuǎn)發(fā)
SSH 是創(chuàng)建了一個 SOCKS 代理服務(wù)。
格式:ssh -D <local port> <SSH Server>
例如:ssh -p 1234 -D 5656 federico@www.federico.xin接下來將本地瀏覽器設(shè)置SOCKS代理通過5656端口即可使用。修改sshd_config配置文件已支持以上端口轉(zhuǎn)發(fā)操作。
sshd_config
了解我們需要的ssh詳細參數(shù)
- -f Fork into background after authentication.
后臺認證用戶/密碼,通常和-N連用,不用登錄到遠程主機。 - -L port:host:hostport
將本地機(客戶機)的某個端口轉(zhuǎn)發(fā)到遠端指定機器的指定端口. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 同時遠程主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport - -N Do not execute a shell or command.
不執(zhí)行腳本或命令,通常與-f連用。
試試這個命令吧:ssh -p 1234 -NfR 5656:localhost:80 federico@www.federico.xin看看能不能實現(xiàn)我們最初的需求吧。
? 讓我們開始玩轉(zhuǎn)ssh吧。
轉(zhuǎn)載于:https://www.cnblogs.com/Cherry-Linux/p/7871763.html
總結(jié)
- 上一篇: 工商牡丹新华保险卡[系列]普卡怎么样?基
- 下一篇: 工商牡丹美院卡[系列]普卡怎么样?基本信