【1】目標
兩臺機器A,B在兩個不同的局域網內,且都沒有公網ip。現在希望能夠實現從主機A對B實現遠程操作
需要具有公網ip的中轉機器 C cip
之前在網上查看攻略發現可以用ssh通過一個具有公網ip的中轉服務器來實現這一目標,具體攻略見
http://www.jb51.net/hack/58514.html
這一方法通過一個監控腳本來實現短線重連功能,即在B上每隔一段時間檢查是否有進程 ”ssh -N -R -f“若沒有,則判斷爲已斷開連接。若無,則執行該連接命令。
然而在實踐中發現常常會有斷開連接的情況使得B中 "ssh -f -N -R"進程仍存在,但其實C機器已經關閉了相應的端口,因此會出現從A通過中轉連接不到B的情況。爲了解決這一問題,我想出了下面這一方案:
【1】在機器C上每隔一段時間監控一下目標端口是否已經打開,若已經打開,則啥也不做,若沒有打開,則寫入一個文件
【2】在機器B上每隔一段時間從機器C上下載文件,若存在,則啥也不幹,否則,則執行連接。