Ssh
SSH 和 SSH 隧道有什麼區別
正如標題所說,我真的不明白它們之間的區別。例如,如果我通過 SSH 連接到特定伺服器而不使用隧道,我會得到與使用隧道時相同的 shell。
如果將隧道添加到 SSH 會話,則會通過相同的加密連接為隧道創建額外的數據流。您還可以創建多個隧道或不啟動互動式會話(使用
-N
參數)。因此,基本上,沒有真正的區別,只是使用加密連接的方法不同。
SSH 實際上是一種通用的安全通信機制,它可以通過不安全的底層通道傳輸任意數據。預設情況下,此數據是一個 shell 會話(即,您的本地終端連接到在遠端系統上執行的 shell),但是可以傳輸不同類型的數據。
一種這樣的類型是流套接字連接(例如 TCP 連接),稱為隧道。SSH 客戶端偵聽 TCP 埠並通過安全通道傳輸與該埠建立的任何連接,並從遠端系統退出連接。
預設情況下,當您設置隧道時,您仍然會得到一個外殼,即 SSH 客戶端通過同一連接(隧道和外殼)傳輸兩種類型的數據。您可以使用參數禁用外殼
-N
。