当我需要在两台远程服务器之间复制一些文件时,我通常会这样做
scp -3 user@server1:path user@server2:path
不幸的是,因为这是通过我的机器路由stream量,这是非常缓慢的时候,文件是“大”,服务器“接近”彼此…
你知道有什么办法让普通scp (即:no-3)的“直接转移”行为,同时将身份validation委派给我的机器(即:像-3 )吗?
..可能有一些scp替代?
我能想出的最接近的build议是使用ssh-agent
ssh-agent bash ssh-add ssh到一个主机,并启动到/从另一个副本: scp user@server1:path user@server2:path 不使用没有-3标志的scp ,你可以明确地ssh到一个主机并启动scp ,然后你可以决定你是否要ssh到server1或server2 。 用上面给出的命令, scp会为你select一个。
从安全的angular度来看,使用ssh-agent存在危险,因为服务器可以完全访问代理中的密钥,甚至可以用于除文件传输之外的其他目的。
如果您不想相信任一服务器可以访问另一台服务器,但希望确保只有客户端主机可以访问这些密钥,并且服务器彼此安全地进行通信,但是只会传输您指定的文件并执行没有别的,那么你将需要一些不同的工具。 我不认为用scp就可以实现。
为什么你不能使用公钥authentication,在.ssh / config中的ForwardAgent是,而只是scp user @ server1:path user @ server2:path? 我已经尝试过,对我有用。