使用SSH跳板機,連接至內網主機
May 2, 2021
因安全需求通常會將伺服器網段區分為對內、對外網段,內網主機通常無法直接由 Internet 連入或連出至 Internet 。但因維運需求,需要連線至內網主機時,可經由跳板機在不用上傳KEY的情形下登入內網主機。
一、情境需求。
- 內網(Private)主機無法直接由外部連入。
- 僅有開放一台准許22 port連入主機。
- 問題:如何經由這台Jump server(Bastion Host),連入內網主機?
二、前置條件。
本次將採用ProxyCommand的方式,也較為安全。
- 你的個人電腦需要有openssl套件。
- Windows環境,使用Putty、Xshell可能無法完成該功能。
- 下載或安裝基於cgywin的套件或軟體。
- 可安裝mobaxterm。
三、操作方式。
本次將採用mobaxterm做示範。
- 開啟mobaxterm console,於家目錄建立.ssh 目錄 (在Linux環境那樣)。
2. 建立一個ssh用config文字檔,輸入跳板機與內網主機資訊。
根據上方範例,當我要從外網連線至192.168.1.1主機時,會啟動ProxyCommand指令,經過跳板機後登入內網主機。
由於mobaxterm基於cgywin,模擬unix-like環境及常用的指令。可以在console畫面執行常見的操作。
四、其他QA。
以上的作法,為我經由網路上的參考實作。若有不正確之處還請指正。
Q1.跳板機需要做什麼設定嗎?
A1.不用,需確保有openssl、ssh套件並且可以連線至內網主機。
Q2.網路上為何都用ssh -R -L 相關指令?
A2.該方法為ssh forwarding,跳板機需要做相關設定,操作的情境不同。
Q3.為何新增config檔之後會連線失敗,原本還正常。
A3.注意一下在.ssh目錄底下的權限,openssl套件有要求。config內的連線資訊和對應認證資訊是否正確。