我与远程系统的连接延迟很高。我正在远程系统上调试一个脚本,因此需要通过 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 子系统。