Ssh

如何在無法訪問的客戶端電腦上掛載公共無法訪問的伺服器的遠端 sshfs 目錄?

  • July 19, 2017

這是@Andrei的問題的延伸

如何通過中間機掛載遠端 SSHFS?隧道?

我處於相同的情況,我想掛載一個遠端目錄,但不同之處在於兩台機器AB沒有公開暴露在網際網路上。A是我當地的工作站。

所以我既不能從 sshA -> B也不能B -> A.

我經常做的是從租用的虛擬伺服器 (VPS) 建立反向B -> C連接C。通過. @reboot_cron

user@pcB $ ssh -R 2048:localhost:22 -p<port> user@serverC

然後,從A -> B我走中間路線A -> C -> B

user@pcA $ ssh serverC
user@serverC $ ssh -p 2048 user@localhost
user@pcB $ # okay, logged in.

我正在尋找一種將目錄掛載pcB:/home/userpcA.

如何使用 ssh 通過另一台 pc 連接到 pc類似,但提供的解決方案在這種情況下不起作用:在我的情況下,連接映射A -> C <- B不是A -> C -> B.

這比我想像的要容易!

所要做的就是將 的埠綁定到2048serverC的埠pcA。為簡單起見,我使用相同的埠號2048

user@pcA $ ssh -L 2048:localhost:2048 user@serverC

需要保持此終端視窗打開。

然後,在pcB:/home/user本地安裝目錄pcA如下所示:

sshfs -o port=2048 user@localhost:/home/user/ /mnt/pcB

*很好的副作用:*這意味著您還可以使用高效的 X 伺服器連接,例如freeNXvnc檢索pcB. 只需連接到localhost:2048機器並使用正確的憑據(使用者名/密碼)pcB

如果您不想為連接保持終端打開,請使用:

ssh -NfL 2048:localhost:2048 user@serverC

請注意,這樣做可能會違反您雇主/組織的安全政策,因此請確保獲得適當的權限。

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