ssh:保持通道开放以便快速复制

ssh:保持通道开放以便快速复制

我与远程系统的连接延迟很高。我正在远程系统上调试一个脚本,因此需要通过 scp 反复复制一个小文件。

这很烦人,因为每次都必须重新进行身份验证(使用公钥),并且整个过程比应有的时间更长。

是否有端口转发或我可以设置的东西可以让副本绕过身份验证?有办法解决吗?

答案1

您可以启用连接共享。您可以保持单个连接打开(例如,使用它在远程站点上工作)并使用同一连接进行复制scp

要激活它,您需要~/.ssh/config

Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

ControlPath是共享连接套接字的路径。上面的示例根据登录名和主机名创建了一个动态名称。

答案2

尽管已经给出了很好的答案(事实上这扩展了 sftp 上的答案):使用 sshfs(使用 FUSE)将远程工作目录挂载到本地机器上也是一个很好的透明解决方案: sshfs [user@]host:[dir] mountpoint [options]和`fusermount -u mountpoint 来卸载。

答案3

使用 SFTP(通过sftp)将允许您保持连接打开并根据需要进行多次传输,前提是服务器启用了 SFTP 子系统。

相关内容