Linux

使用 SSH 通過跳轉框訪問本地 repo

  • December 18, 2020

我有一個安裝了 apt-get repo 的設備。通常我使用以下命令來製作它,以便我可以apt-get從遠端伺服器訪問它。

ssh user@IPofRemoteServer -R8880:127.0.0.1:8880

但是,這需要本地 repo 設備與遠端伺服器建立連接。

我需要執行以下操作:

local repo ---> jumpbox ---> remote server

所以我可以apt-get update從本地倉庫成功執行。

我嘗試了以下方法但沒有成功:

ssh -A -t user@jumpbox -R8880:127.0.0.1:80 ssh -A -t user@remoteServer -R8880:127.0.0.1:80

但是,這不起作用,經過研究,我認為這是由於埠 8880 只是轉到 jumpbox 上的 80 而實際上並沒有將其轉換為轉發到本地儲存庫。

我已經嘗試過變體但沒有成功,我需要這樣做來更新該遠端伺服器。

是否足夠:

ssh -A -t user@jumpbox -R8880:remoteServer:80

我知道可以從跳轉主機訪問遠端伺服器埠?

編輯: 現在,我知道您有一些本地儲存庫,您想在遠端主機上顯示並使用它。

好吧,通常我是這樣使用它的: 在 ~/.ssh/config 中:

Host TargetServer
   Hostname remoteServer
   ProxyJump jumpbox

現在您可以簡單地與遠端伺服器建立 ssh 連接:

ssh TargetServer -R8880:localhost:80

您現在已登錄到目標伺服器。您可以驗證 Tunel 是否打開:

netstat -lapn | grep 8880

當然,您應該能夠在那裡進行 yum 更新。

EDIT2: 如果您想在沒有配置文件的命令行上使用它,請使用**-J**開關:

-J [user@] host [:port]
  Connect to the target host by first making a ssh connection to the jump host and then establishing a
  TCP forwarding to the ultimate destination from there.  Multiple jump hops may  be  specified  sepa‐
  rated by comma characters.  This is a shortcut to specify a ProxyJump configuration directive.

引用自:https://unix.stackexchange.com/questions/312857