scp remoteA:file remoteB:

jua*_*blo 4 ssh scp

用 scp 我可以得到一个文件

 scp remoteA:file .
Run Code Online (Sandbox Code Playgroud)

并放一个文件

 scp file remoteB:
Run Code Online (Sandbox Code Playgroud)

但是当我尝试

 scp remoteA:file remoteB:
Run Code Online (Sandbox Code Playgroud)

我得到

ssh: Could not resolve hostname remoteB: Name or service not known
lost connection
Run Code Online (Sandbox Code Playgroud)

为什么?

编辑:

remoteA 和 remoteB 描述在 ~/.ssh/config

小智 7

您需要指定一个remoteA可以访问的主机,因为复制是remoteA直接从到 进行的remoteB

为了避免这种情况,您可以使用该-3选项。man scp说它做什么:

两个远程主机之间的副本通过本地主机传输。如果没有此选项,数据将直接在两个远程主机之间复制。请注意,此选项会禁用进度表。