透過偽終端機進行ssh連接埠轉發

透過偽終端機進行ssh連接埠轉發

這是一種情況:

我所有的工作都在 Mac 上完成。

  1. 有一個特定的linux伺服器'伺服器01'提供對另一個Linux伺服器的存取'伺服器02' 透過偽終端

    因此,要 ssh 進入 '伺服器02',我在我的 Mac 上執行此操作:

    ssh -t server01 'inline server02'
    
  2. 然後它要求我輸入密碼'伺服器01';我輸入它,然後我就登入了'伺服器02'。現在,我在'伺服器02' 終端。

  3. 從 '伺服器02'我可以存取所在的 mysql 資料庫'伺服器03' 使用以下 mysql 指令:

    mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
    
  4. 兩者都不 '伺服器01'也不'伺服器02'我的 Mac 也沒有 SSH 存取權限'伺服器03'

現在,我想訪問 ' 上的 mysql伺服器03' 直接從我的 Mac 透過某種連接埠轉送。因此,如果我在 mac 終端機上輸入以下命令,它應該將我連接到 ' 上的 mysql 資料庫伺服器03':

mysql --host=localhost --port=4201 --user=myuser --password=mypass mydb

有沒有辦法做到這一點?任何幫助是極大的讚賞。

答案1

如果你可以從 server01 ssh 到 server02 你可以嘗試

ssh -t -L server02:4201 server01 'ssh -N -L server03:4201 server02' 

它將連鎖連接

本機:4201 -> server02:4201 -> server03:4201

僅本地連接到端口4201在蘋果電腦上

最好使用金鑰身份驗證和 ssh-agent 來避免輸入密碼。

相關內容