建立ssh反向隧道

參考鏈接:

https://blog.csdn.net/sinat_41721615/article/details/105575955

https://zhuanlan.zhihu.com/p/112227542

 

建立ssh反向隧道方法:

       準備:一臺有公網IP的服務器,處於內網的設備,客戶端設備

       說明:由於客戶端設備不能直接通過互聯網訪問內網設備,而內網設備可以通過ssh與服務器建立連接,因此需要在內網設備和服務器之間建立一條反向ssh隧道,客戶端可以通過服務器來ssh訪問內網設備

 

 

建立ssh反向隧道過程:

  1. 在內網設備輸入ssh命令,與服務器建立ssh通信,同時將ssh數據在服務器的5007端口做轉發

 

 

 

 

其中-N表示不執行命令,只轉發;-f表示後臺運行;-R表示反向隧道;5007:localhost:22表示監聽服務器的5007端口,所有包轉發到本地的22端口;root爲ssh服務器用戶;119.28.54.126爲公網服務器IP

 

 

 

  1. 登錄服務器ssh轉發端口即可ssh到內網設備上

 

 

 

 

 

由於ssh會超時斷線,因此需要配置斷線重連,並且需要設備免密登錄服務器

斷線免密登錄自動重連:

  1. 在內網設備產生公鑰和私鑰

 

 

 

 

 

 

然後按三次回車執行默認選項生成公鑰和私鑰。會生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub 或 id_dsa,id_dsa.pub

 

 

 

  1. 複製密鑰

在設備執行

ssh-copy-id  root@serverip

將密鑰複製到服務器.ssh/known_hosts文件中

 

或在服務器

創建存放密鑰文件: [root@localhost .ssh]# touch authorized_keys

追加密鑰到文件:[root@localhost .ssh]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  1. 在內網設備執行autossh

 

 

 

 

 

 

 

其中-M 5555,表示通過5555端口監聽連接狀態,有問題就重連

 

 

可能出現的錯誤:Permission denied, please try again.

問題原因:服務端SSH 服務默認配置禁止root用戶登錄策略。

解決方法:

1、通過 cat  /etc/ssh/sshd_config 查看是否包含類似如下配置: #PermitRootLogin no

 

 

 

2、將#PermitRootLogin no 改爲 PermitRootLogin yes

3、使用如下指令重啓 SSH 服務: service sshd restart

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章