如何將ssh代理轉發和隧道結合?

如何將ssh代理轉發和隧道結合?

我正在嘗試 Vagrant-ify 一個項目,以簡化用戶的依賴項設定。依賴項之一是使用 ssh-L選項從主機 B 上的連接埠 A 到連接埠 C 的 SSH 隧道。

我可以在我的主機上成功使用隧道命令ssh -L <A>:<B>:<C>,並且我希望能夠在 Vagrant VM 中執行此操作。

我已經成功配置 Vagrant 進行 ssh 代理轉發,以便使用主機的 ssh 金鑰對私有 git 儲存庫進行身份驗證。但說到代理轉送隧道,我對 ssh 和 Vagrant 的了解已經結束了。這樣的事有可能嗎?

答案1

結果金鑰被轉發,但 ssh 使用vagrant使用者名稱而不是主機使用者名稱。當我更正使用者名稱時,ssh 隧道開始在 Vagrant 中工作。

答案2

您不知道隧道是否應該從主機到客戶或其他方式建立,以及在哪裡B,以及為什麼不能直接訪問它...

如果你想從主機的某些介面到來賓建立一條隧道,你可以使用 Vagrant 的內建功能轉送連接埠。或只是添加私人網路位址到虛擬機器。

如果您想透過主機從來賓取得隧道,請使用ssh -R而不是ssh -L從主機。但在大多數情況下,您可以直接從虛擬機器連接到目標。

相關內容