节省你的SSH毗连时间:ControlMaster 使用指南
配景最近有需求在远程服务器上频繁传输文件(scp),然后执行一些命令。但是这个远程服务器延迟比较高,而且认证花费的时间比较长,让人非常不耐烦。然后发现了一个可以加快这个步调的工具:ControlMaster。
来源:
[*]StackExchange
[*]Hacker News
简介
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。
[*]%r: remote username
[*]%h: remote hostname
[*]%p: remote port
[*]%C: Hash of %l%h%p%r%j
[*]详情请看文档:https://man.openbsd.org/ssh_config#TOKENS
[*]Time: 没有后缀就是秒。例子:
[*]600: 600 seconds
[*]10m: 10 minutes
[*]1h30m: 1 hour 30 minutes
[*]详情请看文档:https://man.openbsd.org/sshd_config.5#TIME_FORMATS
其他资源:https://docs.rc.fas.harvard.edu/kb/using-ssh-controlmaster-for-single-sign-on/
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]