如何通过ssh复制文件

How to copy files over ssh

如何使用 ssh 将文件从测试服务器复制到生产服务器,如何对单个文件执行此操作以及如何对多个文件执行此操作?

从Window到Linux

下载 https://cygwin.com/ 这将为您提供一个合适的终端,然后允许您 运行 linux 命令,如下面从 Linux 到 Linux 部分。

从Linux到Linux

基本命令是这个

命令

scp [ssh 登录远程服务器]:[文件路径] [本地文件路径]

复制单个文件示例

scp user@your.server.example.com:/path/to/foo/[filename] /home/user/Desktop/[filename]

复制目录示例

scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

要使用 scp 的全部功能,您需要完成以下步骤:

  1. Setup public key authentication
  2. Create ssh aliases

然后,例如,如果你有这个 ~/.ssh/config:

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

您将避免输入密码并简化 scp 语法,如下所示:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

此外,您将能够使用远程路径补全:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)