【筆記】端口轉發

@echo off
:loop
ssh -N -L 13306:192.168.0.3:23306 -o ServerAliveInterval=60 admin@192.168.0.2
timeout /t 5
goto loop

代碼功能剖析

1、基礎設置

@echo off

????????此命令的作用是讓批處理腳本在執行過程中不顯示命令行,從而使輸出更為簡潔。

2、定義循環標簽

:loop

這里定義了一個名為loop的標簽,其用途是為后續的循環跳轉提供目標位置。

3、SSH 隧道建立命令

ssh -N -L 13306:192.168.0.3:23306 -o ServerAliveInterval=60 admin@192.168.0.2

該命令包含多個參數,各參數功能如下:

  • -N:表明此 SSH 連接僅用于端口轉發,不會執行遠程命令。
  • -L 13306:192.168.0.3:23306:這是端口轉發的具體配置,意思是將本地(127.0.0.1)的 13306 端口映射到遠程主機192.168.0.3的 23306 端口。這里的流量走向是:本地端口 13306 → SSH 服務器192.168.0.2?→ 目標主機192.168.0.3的 23306 端口。

  • -o ServerAliveInterval=60:設置 SSH 客戶端每隔 60 秒向服務器發送一次 "心跳" 包,以此來維持連接的穩定性,防止連接因長時間無數據傳輸而斷開。
  • admin@192.168.0.2:指定使用admin用戶連接到 SSH 服務器192.168.0.2

4、連接斷開后的處理

timeout /t 5
goto loop

????????當 SSH 連接意外斷開時,腳本會先暫停 5 秒(通過timeout /t 5實現),然后跳回到loop標簽處(通過goto loop實現),重新嘗試建立 SSH 連接,以此保證服務的連續性。

    典型應用場景

    • 遠程數據庫訪問:當你需要訪問位于內網(如192.168.0.3)的數據庫,而該數據庫只能通過中間服務器(192.168.0.2)訪問時,就可以使用此腳本。
    • 服務高可用性保障:借助自動重連機制,能夠確保網絡波動時服務仍能正常運行。

    使用注意要點

    • 權限要求:運行此腳本前,需要確保admin用戶對 SSH 服務器192.168.0.2有訪問權限,并且該服務器允許端口轉發功能。
    • 端口占用情況:要保證本地的 13306 端口沒有被其他程序占用,否則 SSH 連接將無法正常建立。
    • 密鑰配置建議:為了避免每次連接都需要手動輸入密碼,建議配置 SSH 密鑰認證。

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/pingmian/81384.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81384.shtml
    英文地址,請注明出處:http://en.pswp.cn/pingmian/81384.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    Flink Table SQL

    Apache Flink 提供了強大的 Table API 和 SQL 接口,用于統一處理批數據和流數據。它們為開發者提供了類 SQL 的編程方式,簡化了復雜的數據處理邏輯,并支持與外部系統集成。 🧩 一、Flink Table & SQL 核心概念 概念描述Table…

    【AWS入門】Amazon SageMaker簡介

    【AWS入門】Amazon SageMaker簡介 [AWS Essentials] Brief Introduction to Amazon SageMaker By JacksonML 機器學習(Machine Learning,簡稱ML) 是當代流行的計算機科學分支技術。通常,人們在本地部署搭建環境,以滿足機器學習的要求。 AWS…

    解決 Go 構建依賴超時問題:使用 GOPROXY 提升 Docker 構建穩定性

    目錄 解決 Go 構建依賴超時問題:使用 GOPROXY 提升 Docker 構建穩定性 ? 問題背景 ? 正確做法:多階段中在 Go 階段設置 GOPROXY ? 實際收獲 🧪 小技巧:驗證 GOPROXY 設置是否生效 ? 總結 解決 Go 構建依賴超時問題&#x…

    【周輸入】510周閱讀推薦-3

    前文 【周輸入】510周閱讀推薦-1-CSDN博客 【周輸入】510周閱讀推薦-2-CSDN博客 本次推薦 目錄 前文 本次推薦 算法技術 模型產品 算法技術 vLLM和DeepSpeed部署模型的優缺點_vllm deepspeed-CSDN博客 優點缺點總結vLLM 適用于推理 優化內存管理 高效并行化 功能單…

    Kubernetes控制平面組件:Kubelet詳解(七):容器網絡接口 CNI

    云原生學習路線導航頁(持續更新中) kubernetes學習系列快捷鏈接 Kubernetes架構原則和對象設計(一)Kubernetes架構原則和對象設計(二)Kubernetes架構原則和對象設計(三)Kubernetes控…

    【推薦】新準則下對照會計報表172個會計科目解釋

    序號 科目名稱 對應的會計報表項目 序號 科目名稱 對應的會計報表項目   一、資產類     二、負債類   1 1001 庫存現金 貨幣資金 103 2001 短期借款 短期借款 2 1002 銀行存款 貨幣資金 104 2101 交易性金融負債 易性金融負債 3 1012 其他貨幣資…

    MongoDB的安裝及簡單使用

    MongoDB 是一個開源的文檔型 NoSQL 數據庫??,由 MongoDB Inc. 開發,專為靈活性和可擴展性設計。 特點: ??1.文檔模型??:數據以 BSON(二進制 JSON)格式存儲,支持嵌套結構。 ??2.動態 S…

    Gartner《如何將生成式人工智能(GenAI)集成到應用架構》學習心得

    針對軟件架構師、技術專業人士如何更好的把 GenAI 如何融入解決方案,提升用戶體驗、生產力并帶來差異化成果的趨勢,Gartner發布了《Integrating GenAI Into Your Application Architecture》研究報告。 報告首先介紹了 GenAI 的發展背景,指出其已成為主流趨勢,大型語言模型…

    IDEA - Windows IDEA 代碼塊展開與折疊(基礎折疊操作、高級折疊操作)

    一、基礎折疊操作 折疊當前代碼塊:Ctrl - # 操作方式按下 【Ctrl】 鍵,再按下 【-】 鍵展開當前代碼塊:Ctrl # 操作方式按下 【Ctrl】 鍵,再按下 【】 鍵折疊所有代碼塊:Ctrl Shift - # 操作方式按下 【Ctrl】…

    基于STM32F103與Marvell88W8686的WIFI無線監控視頻傳輸系統研發(論文)

    基于STM32F103與Marvell88W8686的WIFI無線監控視頻傳輸系統研發 中文摘要 在當今社會信息化進程不斷加速的時代背景下,眾多領域對于監控系統的需求日益增長,像車內安全監控、電梯運行監控等場景都離不開監控系統的支持。過去,不少領域普遍采用…

    Java基礎知識總結(超詳細整理)

    一:概述 1.1Java類及類的成員 屬性、方法、構造器、代碼塊、內部類 (1)數組 java虛擬機內存劃分 各區域作用 內存解析 基本使用 兩個變量指向一個一維數組 沒有new就不會在堆里新開辟空間 (2)對象數組 (3&a…

    StarRocks Community Monthly Newsletter (Apr)

    版本動態 3.4.3 版本更新 核心功能升級 Routine Load和Stream Load新增Lambda表達式支持,支持復雜的列數據提取 增強JSON數據處理能力,支持將JSON Array/Object轉為ARRAY/MAP類型 優化information_schema.task_runs視圖查詢,新增LIMIT支持…

    探索AI新領域:生成式人工智能認證(GAI認證)助力職場發展

    在數字化時代的大潮中,人工智能(AI)技術以其強大的影響力和廣泛的應用前景,正逐步重塑我們的生活與工作方式。隨著生成式AI技術的崛起,掌握這一前沿技能已成為職場競爭中的關鍵優勢。那么,如何通過系統的學…

    數據庫觸發器Trigger

    在數據庫管理系統中,觸發器(Trigger)是一種特殊的存儲過程,它在特定的事件發生時自動執行。觸發器通常用于維護數據的完整性和一致性。通過事件觸發而被執行,不能直接調用。 觸發器的三要素 觸發事件 before/after&a…

    如何利用 Java 爬蟲獲得某書筆記詳情:實戰指南

    在知識分享和學習的領域,許多平臺提供了豐富的書籍筆記和學習資源。通過 Java 爬蟲技術,我們可以高效地獲取這些筆記的詳細信息,以便進行進一步的分析和整理。本文將詳細介紹如何利用 Java 爬蟲獲取某書筆記詳情,并提供完整的代碼…

    主成分分析的應用之sklearn.decomposition模塊的PCA函數

    主成分分析的應用之sklearn.decomposition模塊的PCA函數 一、模型建立整體步驟 二、數據 2297.86 589.62 474.74 164.19 290.91 626.21 295.20 199.03 2262.19 571.69 461.25 185.90 337.83 604.78 354.66 198.96 2303.29 589.99 516.21 236.55 403.92 730.05 438.41 225.80 …

    【Redis】List 列表

    文章目錄 初識列表常用命令lpushlpushxlrangerpushrpushxlpop & rpoplindexlinsertllen阻塞操作 —— blpop & brpop 內部編碼應用場景 初識列表 列表類型,用于存儲多個字符串。在操作和實現上,類似 C 的雙端隊列,支持隨機訪問(O(N)…

    Android framework 中間件開發(三)

    前兩篇我們講了中間件的開發和打包應用, Android framework 中間件開發(一) Android framework 中間件開發(二) 這邊我們來講一下在中間件中編寫JNI 1.新建C文件 找到frameworks\base\services\core\jni\路徑,新建一個cpp文件,文件名為com_android_server_DarkControlService.c…

    深入了解linux系統—— 基礎IO(上)

    文件 在之前學習C語言文件操作時,我們了解過什么是文件,這里簡單回顧一下: 文件存在磁盤中,文件有分為程序文件、數據文件;二進制文件和文本文件等。 詳細描述見文章:文件操作——C語言 文件在磁盤里&a…

    Flink CDC—實時數據集成框架

    Flink CDC 是一個基于流的數據集成工具,旨在為用戶提供一套功能更加全面的編程接口(API),它基于數據庫日志的 CDC(變更數據捕獲)技術實現了統一的增量和全量數據讀取。 該工具使得用戶能夠以 YAML 配置文件…