如何通过本地机器在不同端口的远程机器之间进行安全复制

如何通过本地机器在不同端口的远程机器之间进行安全复制

我有一个包含 4 台机器的集群。其中一台是集群管理器。当集群管理器启动备份时,每个从属集群都会在其自己的文件系统中创建集群备份文件。

集群管理器完成备份过程后,我必须将集群备份从每个从属集群复制到另一台远程存储机器。从属集群和存储机器的 ssh 端口不同。

我正在考虑通过集群管理器的安全复制将文件从远程集群复制到远程存储机器,例如:

scp cluster1.com:/backup/files storage.com:/backup/cluster1 
scp cluster2.com:/backup/files storage.com:/backup/cluster2 
scp cluster3.com:/backup/files storage.com:/backup/cluster3 
...

正如我所说,集群和存储机器的 ssh 端口是不同的。但scp命令只有一个port关键字参数。有没有办法用scp命令设置集群和存储服务器端口?

答案1

使用ssh_config,它允许您为 中使用的主机创建别名scp并指定单独的端口。简而言之,填写您的~/.ssh/config/etc/ssh/ssh_config

Host host1
  Hostname host
  Port 2222
Host host2
  Hostname host
  Port 2223

然后你可以简单地使用

scp host1:/backup/files host2:/backup/cluster1

您还可以在配置中存储其他信息,例如用户、身份文件等。

相关内容