使用ssh++華為云服務器實現內網穿透

      網友投稿 1167 2022-05-30

      用 ssh 訪問一臺主機,如果和主機在一個局域網中或者主機擁有公網 IP,就可以使用 ssh 命令直接連接主機的 IP 地址,但是大部分公司和家庭內部都是局域網,并不能給局域網內的每一臺主機都分配一個公網 IP,這時候就需要進行內網穿透,才能從外部連接到局域網內的主機。

      什么是內網穿透

      簡單來說內網穿透就是實現不同局域網內的主機間的通信,通俗點講,當你在宿舍寫代碼,想訪問機房里的服務,但是機房沒有外網IP,所有的web服務都是通過內網發布的(192.168.xx.xx等),那你在宿舍就無法訪問到這些服務,可你又不想去機房,那么應該怎么辦呢?內網穿透就可以幫你解決這個困境。通過內網穿透,你用宿舍的網絡就可以訪問到機房的web服務。

      或者是你用宿舍的網絡,可以SSH訪問機房的服務器(服務器沒有公網IP)。又或者時你你的閑置手機掛了個Termux,想從其他地方遠程訪問。

      具體步驟

      1.在服務器上安裝ssh-server

      1

      2

      apt-get?install openssh-server

      #linux云服務器默認已經安裝,這里就跳過

      2. 在客戶端上連接到服務器,并進行映射

      1

      2

      3

      4

      ssh -R :: user@server_ip

      # ssh -R 8888:127.0.0.1:8022 chenbao@115.28.***.187

      #將本地的local_ip:local_port 映射到 server 的server_port

      #ssh將會在服務器上監聽server_por 并將消息轉發到 local_ip:local_port

      這里我用我手機termux手機示范

      3.檢查連接狀態

      1

      2

      3

      netstat -l |?grep :8888

      #netstat -l | grep :server_port

      #可以看到服務器端已經監聽了8888端口,但是監聽的是localhost的8888 ,只能實現服務器本地訪問

      我映射的是termux上的8022端口(ssh服務)

      在服務器上用ssh連接到termux的ssh服務進行測試 , 能成功連接,說明映射成功

      4.實現服務器公網訪問

      1

      使用ssh+華為云服務器實現內網穿透

      2

      3

      #連接到服務器上 略

      #建立任意ip(0.0.0.0)到 localhost(127.0.0.1) 的正向代理

      ssh -L 0.0.0.0:8889:127.0.0.0.1:8888 chenbao@localhost

      1

      #再次查看連接情況?0.0.0.0:8889已經監聽,這時即可使用服務器公網ip進行訪問?(你可能需要在華為云服務器控制臺開放需要映射到公網的端口)

      1

      2

      3

      4

      5

      6

      7

      8

      #將默認配置的有效項 復制到 ~/sshd_config 中

      grep "^[^#]" /etc/ssh/sshd_config > ~/sshd_config

      #修改~/sshd_config 更改端口,添加選項 GatewayPorts yes (允許直接映射到全局(0.0.0.0))

      vim? ~/sshd_config

      添加

      Port 8882

      GatewayPorts?yes

      #建議注釋Subsystem行

      1

      2

      3

      /usr/sbin/sshd -f?/etc/ssh/sshd_config

      #如果提示權限不夠 就 sudo /usr/sbin/sshd -f /etc/ssh/sshd_config

      #如果沒有找不到error: Could not load host key: /etc/ssh/ssh_host_ed25519_key 就先 ssh-keygen -A

      5.其他

      帶參數 -N(不執行遠程命令. 用于轉發端口) -f(在執行命令前退至后臺)

      1.在服務器上新建一個普通用戶 onlynat

      2.手寫一個shell(誤)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      #include

      using std::string;

      using std::cin;

      int main()

      {

      string tmp;

      while(cin>>tmp);

      return 0;

      }

      編譯上述代碼,并將這個程序設置為onlynat的she'l'l

      編輯~/sshd_config 添加行 AllowUsers onlynat

      重啟sshd_cinfig 這時 onlynat 就只能使用手寫的shell,而無法執行任何命令了

      ssh

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:【愚公系列】2022年05月 .NET架構班 044-分布式中間件 .Net Core下使用Redis
      下一篇:自動網絡搜索(NAS)在語義分割上的應用(二)
      相關文章
      亚洲精品国产美女久久久| 国产亚洲日韩一区二区三区| 亚洲综合伊人久久大杳蕉| 国产成人亚洲精品播放器下载| 亚洲国产精品免费观看| 亚洲精品国产精品国自产网站| 亚洲精品网站在线观看你懂的| 亚洲一区二区在线免费观看| 亚洲国产精品一区| 亚洲一二成人精品区| 91情国产l精品国产亚洲区| 亚洲国产高清视频| 亚洲午夜精品一区二区| 久久精品亚洲精品国产色婷 | 久久亚洲国产伦理| 亚洲精选在线观看| 亚洲视频在线一区二区三区| 亚洲福利一区二区| 亚洲午夜久久久精品电影院| 亚洲国产品综合人成综合网站| 亚洲字幕在线观看| 亚洲一区二区三区播放在线| 国产成人精品日本亚洲18图| 亚洲中文字幕无码中文字| 亚洲日韩AV一区二区三区四区| 亚洲精品美女久久7777777 | 亚洲国产精品日韩av不卡在线| 亚洲欧美第一成人网站7777| 极品色天使在线婷婷天堂亚洲 | 相泽南亚洲一区二区在线播放| 亚洲av无码天堂一区二区三区| 亚洲精品老司机在线观看| 国产乱辈通伦影片在线播放亚洲| 亚洲色中文字幕无码AV| 亚洲精品高清久久| 亚洲伊人久久大香线蕉影院| 亚洲日韩AV一区二区三区中文| 亚洲AⅤ无码一区二区三区在线| 国产偷国产偷亚洲高清日韩| 亚洲AV日韩AV永久无码下载 | 亚洲国产成人久久综合碰|