配景
最近有需求在远程服务器上频繁传输文件(scp),然后执行一些命令。但是这个远程服务器延迟比较高,而且认证花费的时间比较长,让人非常不耐烦。然后发现了一个可以加快这个步调的工具:ControlMaster。
来源:
简介
ControlMaster 是 OpenSSH 提供的一个功能,其作用是让多个 SSH 会话共享一个 TCP 毗连,这样做有几个利益:
- 淘汰毗连时间:后续的SSH毗连可以复用已经建立的毗连。
- 淘汰服务端负载:因为淘汰了必要处理的TCP毗连数量。不过个人感觉这个作用不是很大。
- 淘汰认证次数:只有第一次毗连的时候必要认证。这种方式对于只允许密码登录的服务端来说非常有用。对于采用密钥的服务器来说,假如认证时间很长,节省的时间也会相称可观。
这个功能尤其得当必要频繁进行SSH毗连的时候,好比说
- 脚本自动化:脚本中可能经常出现类似 ssh user@host command 的命令,而允许复用毗连的话,效率会大大进步。固然,基于 ssh 的其他工具也是适用的,好比说 scp,sftp,也包括基于 ssh 的 git 操纵(主要涉及 clone,push,pull,fetch)。
- 网络质量不佳:当网络质量不佳的时候,即使不那么频繁的 ssh 操纵,这个功能也可以节省很多时间。固然主要不是时间,毕竟加起来可能也不到一分钟,最主要是等待的过程太烦人了。你也不想每次打开网页,页面都要保持几秒钟的空缺吧?
使用方法
文档地址:https://man.openbsd.org/ssh_config#ControlMaster
打开ssh客户端的配置文件,通常是 ~/.ssh/config- Host *
- ControlMaster auto
- ControlPath ~/.ssh/control-%r@%h:%p
- ControlPersist 1h
复制代码 注:
- 这里的 * 表示对所有主机生效,也可以单独设置。
- auto 是保举设置,一样寻常用这个就够了。
- Path: 指明毗连文件的生存位置。名称保举至少包罗 %r,%h,%p 以保证唯一,大概使用 %C。
- Time: 没有后缀就是秒。例子:
其他资源:https://docs.rc.fas.harvard.edu/kb/using-ssh-controlmaster-for-single-sign-on/
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |