SSH使用ProxyCommand經過代理服務器遠程鏈接其餘服務器

當前環境拓撲圖:
服務器

  用戶管理海外服務器,經過公網SSH遠程時,因爲網絡質量緣由公網丟包嚴重,這就致使管理員在對海外雲主機進行管理時體驗較差,表現形式多是因爲公網丟包嚴重執行命令卡頓,或者SSH進程異常中斷等。
  針對上述需求,給出如下方案來優化此問題。網絡

  • 新增一臺代理服務器,此服務器到用戶的網絡質量和到海外服務器的網絡質量良好,能夠充當中間橋樑,途中咱們以香港服務器爲例。
  • 管理員經過使用代理服務器充當跳板機來對海外服務器進行管理。ssh

    操做步驟:

    代理服務器配置

      首先須要在代理服務器上啓動一個socks代理服務,並將此服務的端口受權給管理員能夠進行訪問。
      關於socks代理有各類服務能夠實現,在這裏咱們爲了操做最輕量級就直接使用系統自帶的SSH來實現此功能。
    ssh -p5258 -fqND 0.0.0.0:6565 root@127.0.0.1
      使用以上命令能夠創建一個SSH隧道代理,如下是上述參數的含義:優化

    • -p5258:因爲咱們要鏈接的隧道服務器的ssh端口是5258,因此在此須要使用-p進行指定;
    • -fqND:f表示後臺認證用戶名/密碼無須登陸到遠程主機,一般和N(不執行腳本或命令)連用,q表示禁用告警和診斷消息,D表示指定本地機器進行動態端口轉發;
    • 0.0.0.0:6565:表示監聽在此臺機器上全部IP的6565端口;
    • root@127.0.0.1:表示在本地上啓用代理服務,也能夠換成其餘服務器,特定場景特定需求。

管理用戶鏈接

ssh -o ProxyCommand="nc -X 5 -x 114.114.114.114:6565 %h %p" root@8.8.8.8
  設置完代理服務器後,在ssh時須要指定代理服務器的IP及端口信息,最後指定要鏈接到的服務器便可,登陸成功後服務器會給出登陸的IP地址,或者使用who命令進行查看,只要登陸的IP地址是代理服務器的地址表示全部配置正常。代理

相關文章
相關標籤/搜索