Ssh
SFTP 通過反向 SSH 隧道?
我想 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