帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何使用SSH将文件从一台服务器复制到另一台服务器

如何使用SSH将文件从一台服务器复制到另一台服务器

发布时间:2019年11月04日 09:01:32    来源: A5互联

SSH是一个非常灵活的工具,几乎每个Linux管理员都依赖它。SSH有很多使用技巧,其中之一使您可以使用scp命令复制文件。

为此,您需要三台Linux服务器,都接受SSH连接。您还需要SSH密钥进行身份验证。

必须做的第一件事是将SSH密钥复制到服务器。这是我们的服务器布局:

服务器A-192.168.1.15

服务器B-192.168.1.160f

客户端C-192.168.1.7

我们需要做的是将SSH密钥来回复制到每台计算机上。这是通过以下命令完成的:

ssh-copy-id USER@IP

其中USER是远程用户,而IP是相关机器的IP地址。确保从A到B,从A到C,从B到A,从B到C,从C到A以及从C到B执行此操作。

现在,您应该能够使用SSH密钥认证从客户端C到服务器A进行SSH,然后从服务器A到服务器B进行SSH。

如何配置SSH

现在,我们需要在〜/ .ssh / config文件中映射服务器。过去,您可以简单地发出以下命令:

scp USER@192.168.1.15:/home/USER/test.txt USER@192.168.1.160:/home/USER/test.txt

这已不再是这种情况。现在,您必须依靠〜/ .ssh / config文件。使用以下命令打开该文件:

nano ~/.ssh/config

在该文件中,您必须为SERVERA和SERVERB创建新配置。这些配置块如下所示:

Host SERVERA

HostName 192.168.1.16

ControlMaster auto

ControlPath ~/.ssh/ssh-%r@%h:%p

ControlPersist 30m


Host SERVERB

HostName 192.168.1.22

ControlMaster auto

ControlPath ~/.ssh/ssh-%r@%h:%p

ControlPersist 30m

确保更改IP地址以适合您的设置。

保存并关闭文件。现在您可以复制文件了。

如何复制测试文件

首先,我们需要使用以下命令将测试文件从客户端C复制到服务器A:

scp test.txt USER@192.168.1.15:/home/USER/test.txt

其中USER是远程用户名。

我们的test.txt文件现在位于服务器A上。现在我们可以将test.txt文件从服务器A复制到客户端C的服务器B。为此,命令是:

scp -3 USER@SERVERA:/home/USER/test.txt USER@SERVERB:/home/USER/test.txt

其中USER是远程用户名。

-3选项指示scp命令通过发卡计算机(在本例中为客户端C)路由通信,即使第三方将进行实际传输。通过以这种方式发布命令,授权凭据必须仅驻留在发布PC(客户端C)上,而不驻留在第三方上。

这就是将文件从一台服务器从另一台服务器复制到另一台服务器的全部功能。这只是SSH掌握的众多技巧之一。