如何使用SSH在两台计算机之间复制文件

Fed*_*ile 14 ssh files connection transfer

情况:我有两台电脑:Pc_APc_B。我还使用了从ABSSH连接。

我的问题:我在Pc_A的桌面上保存了一个文件夹,我需要通过终端将其复制到Pc_B的桌面上。问题是,一旦我在Pc_A上打开终端并连接到Pc_B,我就不再能够将数据从一台计算机传输到另一台计算机......

问题:有没有人知道在这种情况下应该做什么?

Exe*_*n-G 23

你可以使用scp

当您在 PCB 上时:

scp -r your_user_name@ip_address_of_PCA:/path/to/remote/directory /path/to/local/directory
Run Code Online (Sandbox Code Playgroud)

  • 它有效,但我不得不稍微修改它:scp -r /path/to/local/directoryyour_user_name@ip_address_of_PCB:/path/to/remote/directory (4认同)
  • scp -i <您的 ssh 密钥文件> -r ... (2认同)

Spa*_*awk 14

在 PC A 上,不要通过 ssh 连接到 PC B,只需运行

rsync /path/to/local/file username@PCB:/path/to/remote/destination
Run Code Online (Sandbox Code Playgroud)

您也可以使用scprsync 代替 rsync,该行的其余部分具有类似的格式,但我更喜欢 rsync,因为它更强大,并且(我认为)在复制后进行验证。有关man rsync更多详细信息,请参阅。NB远程计算机必须rsync安装过(见注释neon_overload),否则scp将是首选。

如果安装在两台计算机上,rsync将利用两者的处理能力。例如,它可以通过使用-z标志在传输之前压缩文件。

  • 公平的问题,所以我只是尝试在远程机器上删除 rsync 并尝试对其进行 rsync。我得到:`bash: rsync: command not found rsync: 连接意外关闭(到目前为止收到了 0 个字节)[sender] rsync 错误:在 io.c(605) [sender=3.0.9] 找不到远程命令(代码 127) ]`。替换远程机器上的 rsync 修复了它。 (2认同)