5 21 2019 外網主機ssh連線內網伺服器

2021-09-23 07:47:46 字數 905 閱讀 4715

本人有兩台計算機,一台windows 10,稱為主機a,一台ubuntu18,稱為主機b,主要使用windows10。因此有遠端到ubuntu18的需求

通過一台有公網ip的伺服器(主機c)做主機b的ssh反向連線目標,主機assh到主機c之後利用反向連線,連線到我們的目標主機b

主機b執行

ssh -nfr 4567:localhost:22 [email protected] -p 22

引數解釋:

4567為主機b監聽埠,4567:localhost:22將22埠繫結到4567上

主機c執行

ssh username@localhost -p 4567
即可ssh連線主機b

由於ssh可能存在斷連的情況,因此使用autossh幫助我們自動重連,此外也可以將主機b的id_rsa.pub公鑰放到主機c上,實現免密登入

主機b執行

autossh -m 4568 -nr 4567:localhost:22 [email protected] -p 22

主機c執行

ssh username@localhost -p 4567

公私鑰生成方法

主機b執行

①ssh-keygen,一路預設

②cd ~/.ssh/

③cat id_rsa.pub >> ~/.ssh/authorized_keys => 複製b主機上生成的id_rsa.pub公鑰到外網a主機上,並將內容加入到~/.ssh/authorized_keys中

③或者:ssh-copy-id [email protected](主機c的使用者和ip)

/etc/rc.local 自動啟動

screen 後台執行

SSH通過外網連線內網主機

主機處於內網中時,因為沒有公網ip,所以對公網是不可見的,可以利用公網伺服器進行 連線內網主機 ssh nfr 8899 localhost 22 root b位址 p 22 f 後台執行ssh指令 c 允許壓縮資料 n 不執行遠端指令 r 將遠端主機 伺服器 的某個埠 到本地端指定機器的指定埠 l...

外網主機A連線內網主機B

實現通過外網的主機a連線內網的主機b 在主機b中輸入下面的命令,並且一直回車 ssh keygen 然後會在 root ssh 下生成2個檔案 id rsa和id rsa.pub。可以用下面的命令檢視 ls root ssh 在外網主機a中建立自己的資料夾,用來存id rsa.pub檔案。把內網主機...

django自帶的server 讓外網主機訪問方法

命令 python manage.py runserver 改為python manage.py runserver 0.0.0.0 80 外網和127.0.0.1都能夠訪問 可能會出現disallowedhost at invalid http host header django version...