我已通过 ssh 连接到远程计算机,并在该计算机上运行 scp 以从另一台远程计算机复制文件。我假设文件将直接在两台远程计算机之间复制,但传输速度表明它们是通过我的本地计算机复制的。这是正确的吗?是否可以避免这种情况?
答案1
根据维基百科你是对的,它正在通过你的连接进行路由:
远程到远程模式[编辑] 过去,在远程到远程安全复制中,SCP 客户端会打开与源主机的 SSH 连接,并请求它依次打开与目标的 SCP 连接。(远程到远程模式不支持打开两个 SCP 连接并使用原始客户端作为中介)。需要注意的是,在密码或键盘交互身份验证模式下操作时,SCP 不能用于从源远程复制到目标,因为这会将目标服务器的身份验证凭据泄露给源。但是,使用不需要用户输入的基于密钥或 GSSAPI 的方法可以做到这一点。[2]
最近,远程到远程模式支持通过发起传输的客户端路由流量,即使它是传输的第三方。这样,授权凭据必须仅驻留在发起传输的客户端(即第三方)上。
为了做您想做的事情,并避免第三方流量路由,您需要设置 ssh 密钥。