如何在 Linux 上通过 rsync 和 SSH 安全地传输文件

飞行前检查

  • 这些说明专门用于在 Linux 上通过 rsync 和 SSH 在服务器之间传输文件。
  • 我将在 Liquid Web Core Managed CentOS 7 服务器上工作,我将以 root 身份登录。

使用这些命令从服务器安全下载

标准 SSH 端口:

rsync -avHe ssh user@server:/path/to/file /home/user/path/to/file

  • 用户:远程用户的用户名,您将通过该用户名登录到目标(远程)服务器。
  • 服务器: 目标(远程)服务器的主机名或 IP 地址。
  • /路径/到/文件:需要从目标(远程)服务器下载的文件的路径,其中file为文件名。
  • /home/user/path/to/文件:您希望存储从目标(远程)服务器下载的文件的本地路径,其中 file 是文件名。

例子:

rsync -avHe ssh [email protected]:/home/adam/testfile1 /home/localuser/testfile1

备用 SSH 端口:

rsync -avHPe "ssh -pPORTNUMBER" user@server:/path/to/file /home/user/path/to/file

  • 端口号:目标(远程)服务器上的 SSH 端口号。
  • 用户:远程用户的用户名,您将通过该用户名登录到目标(远程)服务器。
  • 服务器: 目标(远程)服务器的主机名或 IP 地址。
  • /路径/到/文件:需要从目标(远程)服务器下载的文件的路径,其中file为文件名。
  • /home/user/path/to/文件:您希望存储从目标(远程)服务器下载的文件的本地路径,其中 file 是文件名。

例子:

rsync -avHPe "ssh -p1337" [email protected]:/home/adam/testfile1 /home/localuser/testfile1

使用这些命令安全地上传到服务器

标准 SSH 端口:

rsync -avH /home/user/path/to/file -e ssh user@server:/path/to/file

  • /home/user/path/to/文件:将上传到目标(远程)服务器的文件所在的本地路径,其中file为文件名。
  • 用户:远程用户的用户名,您将通过该用户名登录到目标(远程)服务器。
  • 服务器: 目标(远程)服务器的主机名或 IP 地址。
  • /路径/到/文件:将上传到目标(远程)服务器的文件的远程路径,其中 file 是文件名。

例子:

rsync -avH /home/localuser/testfile1 -e ssh [email protected]:/home/adam/testfile1

备用 SSH 端口:

rsync -avHPe "ssh -pPORTNUMBER" /home/user/path/to/file -e ssh user@server:/path/to/file

  • 端口号:目标(远程)服务器上的 SSH 端口号。
  • /home/user/path/to/文件:将上传到目标(远程)服务器的文件所在的本地路径,其中file为文件名。
  • 用户:远程用户的用户名,您将通过该用户名登录到目标(远程)服务器。
  • 服务器: 目标(远程)服务器的主机名或 IP 地址。
  • /路径/到/文件:将上传到目标(远程)服务器的文件的远程路径,其中 file 是文件名。

例子:

rsync -avHPe "ssh -pPORTNUMBER" /home/localuser/testfile1 -e ssh [email protected]:/home/adam/testfile1