相关疑难解决方法(0)

通过中间主机的 scp 文件

我可以访问 3 台机器,A、B 和 C。唯一可能的 (ssh) 连接是:

A -> B
B <-> C
Run Code Online (Sandbox Code Playgroud)

我需要从 A 到 C 获取文件,所以我可以将文件从 A scp 到 B,然后将它们从 B scp 到 C。但是,B 没有太多磁盘空间,所以这不是一个选项。有没有办法通过 B 从 A 到 C scp 文件?请注意,我在任何机器上都没有 root 访问权限,所以不要认为我可以设置任何持久隧道,但如果我错了,请纠正我!

scp

111
推荐指数
5
解决办法
11万
查看次数

通过 ssh 隧道同步目录

我有 3 台计算机/服务器,我们称它们为计算机 A、计算机 B 和计算机 C。

  • 计算机 A 可以通过ssh计算机 B访问。
  • 只有计算机 B 可以通过ssh计算机 C访问。
  • 计算机 A 无法直接访问计算机 C。

所以,我想rsync从计算机 A 到计算机 C 的目录,使用计算机 B(因为只有计算机 B 可以通过ssh计算机 C访问)。我想以rsync一种简单的方式使用,如下所示:

rsync -options /path_to_local IpComputerC:/path_to_remote
Run Code Online (Sandbox Code Playgroud)

我正在考虑一个ssh隧道,但我不知道我是否必须进行本地端口转发或远程端口转发,或者是否必须创建两个隧道:一个从 A 到 B,另一个从 B 到 C?

有什么建议??我真的很感激。

**更新:我做到了!!我创建了一个带有本地端口转发的 ssh 隧道,这意味着我使用机器 A 的本地端口通过机器 B 连接到机器 C 上的远程端口。命令的语法是:

ssh -f -N -L local_port_machineA:ip_machineC:remoteport_machineC user_machineB@ip_machineB
Run Code Online (Sandbox Code Playgroud)

在我的情况下,remoteport_machineC 应该是端口 22,因为我想通过 ssh rsync 目录。

之后,我们就可以在机器A上执行rsync命令了,这样:

rsync -avz -e "ssh -p local_port" …
Run Code Online (Sandbox Code Playgroud)

networking ssh rsync

4
推荐指数
1
解决办法
8561
查看次数

标签 统计

networking ×1

rsync ×1

scp ×1

ssh ×1