Ssh

SFTP 通過反向 SSH 隧道?

  • July 11, 2013

我想 SFTP 到 NAT 後面的遠端電腦。我無法修改 NAT 路由器,所以我使用中間人伺服器設置了反向 SSH 隧道。

這是我的 SSH 隧道的樣子:

laptop--->nat--->middleman<--nat<--desktop

完整的詳細資訊在這裡: 通過 SSH 反向隧道遠端桌面替換 TeamViewer

我目前在這個隧道上使用 SSH 和 VNC。

如何通過隧道使用 SFTP?

我假設命令看起來像

sftp://localhost:port

SSH 登錄僅通過密鑰對(無密碼),因此我們需要在解決方案中考慮這一點。而且我使用 KDE,所以我需要使用 Dolphin 文件管理器來處理它。我聽說在 Dolphin 中設置 SFTP 身份驗證可能會很痛苦……

我將在筆記型電腦上執行 Dolphin 並像這樣連接到桌面上的文件系統。

laptop(SFTP client)--->nat--->middleman<--nat<--desktop(SFTP server)

PS我也會考慮sshfs,如果那樣會更容易的話。我認為不會,因為我沒有伺服器的域名或 IP 地址。

首先,這是一個先決條件(至少對我而言): Remote desktop over SSH reverse tunnel to replace TeamViewer

反向 SSH 隧道如下所示:

laptop(SFTP client)--->nat--->middleman<--nat<--desktop(SFTP server)

laptop編輯 ~/.ssh/config 並添加以下內容:

Host SftpToDesktop
 HostName localhost
 Port %p
 User admin
 PasswordAuthentication no
 IdentityFile ~/.ssh/my_id_rsa

然後,已經建立了從筆記型電腦到中間人的現有 SSH 分支(根據上面的連結),執行以下操作:

$ ssh -fNL 1234:localhost:1234 -i ~/.ssh/some_id_rsa admin@middleman.com

最後,打開 Dolphin(如果像我一樣使用 KDE)並輸入這個位置:

sftp://SftpToDesktop:1234

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