![通过代理进行 SFTP](https://linux22.com/image/1236425/%E9%80%9A%E8%BF%87%E4%BB%A3%E7%90%86%E8%BF%9B%E8%A1%8C%20SFTP.png)
我在暂存空间中有大量数据电脑b我想要得到的。
在我的网络中我无法直接连接到电脑b(ssh 退出时显示“没有到主机的路由”);我必须先连接到计算机,然后连接到电脑b。
我无法将数据从暂存空间移至电脑b到计算机因为我在计算机。
我如何才能将数据从电脑b到我的电脑在这个情况下?
答案1
如果nc
Ignacio 建议的在 computerA 上不可用,则可以创建隧道:
ssh -f -N -L 1234:computerB:22 computerA
(删除-f
以防止它进入后台)。然后您应该能够连接到端口 1234 以localhost
访问计算机 B,即
scp -P 1234 user_on_computerB@localhost:/awesome/stuff/there /here
答案2
ProxyCommand
在您的 ssh 配置中与计算机 A 上的 nc 一起使用:
Host computerB
ProxyCommand ssh computerA nc computerB 22
答案3
一个选项是从 a 将 b 安装到 a 中:
sshfs computer_b /mnt/PC_b
然后直接复制到挂载点
- 如果 a 和 b 机器在同一个 LAN 中,则另一种选择是通过 NFS 数据文件夹从 b 机器导出并将其挂载到 a 机器中