2022年8月9日 星期二

【IT Notes】建立SSH Server的ssh-tunnel設定


ssh-tunnel這項技術在公司已經很常用了,不過我卻是到了最近才搞懂,在公司內我們要登入到IDC機房必須先經過某台跳板機,使用者首先完成雙認證後登入跳板機後,再連到某一台主機並開啟視窗介面,最後進到其他系統,例如防火牆、VMWare或是storage等,而這次架設ssh server雙認證之後,我也繼續測試看看如何設定ssh-tunnel,然後登入另一台遠端電腦,甚至透過tunnel在本機上開啟一些服務。

有關ssh-tunnel的一些原理,網路上已經有非常完整的說明文件,我這邊只需要建立最單純的連線和跳板模式,仿照公司內部的連線方式即可,簡單來說,ssh-tunnel很像是VPN的tunnel,也也都是隧道協議,透過穿過防火牆的方式,將各種連線協議封裝載一起、在不相容的環境下傳輸的方式,而我要能夠透過ssh到跳板機、把本機的流量經ssh-tunnel,開啟另一台電腦的遠端桌面或是網頁,在這邊就測試RDP和http的效果如何,其實網路上還有很多說明,包括ssh-tunnel如何反向讓對方連入自己電腦,還有如何開啟資料庫等等,但這些需求我還沒有需求,也許之後可以再深入研究。

 一.SSH-TUNNEL連線設定
說明一下,網上這張圖就很清晰地說明我要的設定,用戶端要用ssh-tunnel穿過防火牆到ssh server、再到遠端的伺服器上。



環境設定:
1.ssh server: 10.113.22.80
2.遠端windows主機:10.113.22.78
3.遠端的網頁伺服器:10.113.11.80
二.開始各種連線方式
Windows的使用者可以用很方便的Putty,MacOS和Linux的使用者則都用指令,我因為用的是MacBook,也比較習慣用指令,所以這邊先記錄輸入指令的連線方式

1.從client端ssh開啟Windwos遠端桌面
ssh -f -L 15099:10.113.22.78:3389 user@10.113.22.80 -N

開啟遠端,連線至127.0.0.1:15099,用本地方式連線,port可以自行定義
連線的port號可以自己選定



-f和-N這兩個參數也是自行選用的,通常是讓連線背景處理用的。

2.從client端ssh開啟網頁伺服器
ssh -f -L 9090:10.113.11.80:80 user@10.113.22.80 -N

開啟一個瀏覽器,輸入127.0.0.1:9090,就可能從本地打開網頁了。




其實ssh-tunnel還有非常多的可以用的技術,甚至還能讓外部網路透過ssh-tunnel進來本地,如果以後機會再繼續研究,這邊只記錄常用的幾個設定。





沒有留言:

張貼留言

【IT Notes】透過api移轉Gmail到Exchange

 在雲端裡面串接api不是一件很好學的技術,第一次有機會學習到將GWS的Gmail信件全部轉移到M365的Exchange,其實方法很多種,像以前用的pst檔匯出轉移的方式等,但透過api串接,可以批次和排程轉移,是非常方便且準確的作法。唯一讓人感到困難的是學習成本不小,通常需要...